Skip to content
Notis

Stop Hardcoded Secrets from Being Exposed

Code reviews in issues sometimes include secrets. Remove them automatically.

Trigger

Issue Updated Trigger

Triggered when an issue is updated. For example labels are changed, issue status is changed, etc.

Action

Anonymize Value

Tool to anonymize a string or array of string values. use when you need to conceal sensitive text before storage or transmission. example: `anonymizevalue().execute(anonymizevaluerequest(data=['secret']))` limitations: only supports list of strings, not nested structures.

Why this helps

A developer pastes a code snippet into an issue for review, and it includes a hardcoded API key or private key they forgot to remove. Now the key is in Linear, archived, and visible to anyone with access. Key rotation becomes mandatory, and you can't audit who saw it.

  • Prevents key exposure during code review
  • Reduces key rotation overhead
  • Protects intellectual property
  • Catches secrets before they spread

Setup

Build it in a few focused steps.

  • 1Set up Linear and Anonyflow integrations.
  • 2Create an automation: 'When a Linear issue is updated with code snippets, anonymize any private keys, API keys, or hardcoded secrets.'
  • 3Select 'Issue Updated' as your trigger.
  • 4Send notifications to your Security team.
  • 5Test by updating an issue with a code snippet containing a fake API key and verify it's removed.

Questions about this workflow

Should I avoid pasting code snippets in issues?

Use pull requests or code sharing tools for code review. If you must share code in Linear, use snippets without secrets. Let Notis handle accidental exposure.

How do I reference the code if the secret is removed?

Reference the commit hash, file path, and line number instead. Use GitHub/GitLab integration to share the actual code context.

Does this affect library imports or public APIs?

No. Only secrets (keys, passwords, tokens). Public code stays intact.

When this happens · Trigger

Do this · Action

Supported Triggers and Actions

Notis builds workflows that link Linear to Anonyflow. A trigger fires from one place; an action lands in another.

Linear triggers

Anonyflow actions

Recurring trigger

Notis starts this workflow on a schedule, such as daily, weekly, or during business hours.

TriggerScheduled

Anonymize Value

Tool to anonymize a string or array of string values. use when you need to conceal sensitive text before storage or transmission. example: `anonymizevalue().execute(anonymizevaluerequest(data=['secret']))` limitations: only supports list of strings, not nested structures.

ActionInstant

Webhook trigger

Notis starts this workflow when an external tool or custom backend sends an HTTP request.

TriggerInstant

Deanonymize Packet

Tool to deanonymize a json data packet using your private key. use after receiving an anonymized packet to recover specific fields.

ActionInstant

Comment Received Trigger

Triggered when a comment is received.

TriggerInstant

Deanonymize Value

Tool to deanonymize one or more anonymized string values. use when you need to recover the original plaintext values after encryption-based anonymization. example: `deanonymizevalue().execute(deanonymizevaluerequest(data=["<anonymized string>"]))`

ActionInstant

Issue Created Trigger

Triggered when a new issue is created.

TriggerInstant

Test Connection

Tool to test the connection to the anonyflow api. use when verifying that the anonyflow service is reachable and operational before performing anonymization tasks. example: `testconnection().execute(testconnectionrequest())`

ActionInstant

Issue Updated Trigger

Triggered when an issue is updated. For example labels are changed, issue status is changed, etc.

TriggerInstant

Private Team Comment Created

Fires when a new comment is posted on an issue in a private Linear team (polled with the connected user's token).

TriggerPolling

Private Team Issue Created

Fires when a new issue appears in a private Linear team (polled with the connected user's token).

TriggerPolling

Private Team Issue Properties Updated

Fires when properties on an issue change in a private Linear team (polled with the connected user's token).

TriggerPolling

Connect any two apps with Notis in the middle.

Linear and Anonyflow, or any other combination from 1,000+ integrations.

When this happens · Trigger

Do this · Action

Save your first hour today.

7-day trial of any paid plan, with 20$ of usage included.
No card. Works with personal or business Anonyflow.