Protect Your API Keys from Accidental Exposure
Developers paste API keys into debug issues. Anonymize them before anyone else sees.
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
When debugging integrations, developers paste API responses, headers, or configuration that includes live keys. By the time you notice, the key is already in the issue history. Rotating hundreds of keys is exhausting, and you never know who saw them or copied them.
- Catches credentials before widespread exposure
- Reduces key rotation overhead
- Protects against supply chain attacks
- Keeps debug issues safe to review later
Setup
Build it in a few focused steps.
- 1Connect Linear and Anonyflow to Notis in the portal.
- 2Create an automation: 'When a Linear issue is updated, anonymize any API keys, service tokens, or authentication credentials in the update body.'
- 3Set the trigger to 'Issue Updated'.
- 4Send notifications to your engineering Slack channel.
- 5Test by updating an issue with a sample API key and confirm it's removed.
Questions about this workflow
Will this affect my ability to debug the issue?
Yes, but intentionally. For sensitive debug info, use a secure vault like HashiCorp Vault or 1Password. Link to the vault from the issue instead of pasting the actual credential.
How does this handle API key rotation?
You still rotate keys. This automation just prevents the need to hunt down every place an old key was mentioned.
Can I exclude certain keys from redaction?
Not recommended. Treat all API keys as sensitive. If you have dummy keys for testing, use consistent naming (like 'sk_test_') and test before deploying.
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.
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.
Webhook trigger
Notis starts this workflow when an external tool or custom backend sends an HTTP request.
Deanonymize Packet
Tool to deanonymize a json data packet using your private key. use after receiving an anonymized packet to recover specific fields.
Comment Received Trigger
Triggered when a comment is received.
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>"]))`
Issue Created Trigger
Triggered when a new issue is created.
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())`
Issue Updated Trigger
Triggered when an issue is updated. For example labels are changed, issue status is changed, etc.
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).
Private Team Issue Created
Fires when a new issue appears in a private Linear team (polled with the connected user's token).
Private Team Issue Properties Updated
Fires when properties on an issue change in a private Linear team (polled with the connected user's token).
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.