← neutered.ai

Changelog

Current: v1.4.2

A complete history of every improvement made to our ability to say no. Subscribe to get notified when we get better at nothing.

v1.4.2
Jun 12, 2025
Tone recalibration & reason code expansion
  • Improved Reduced apology sincerity by 12%. User testing found the previous version was "too warm" and occasionally left users feeling supported, which is outside our operational mandate.
  • New Added reason code ADJACENT_TO_HELPFUL — for requests that aren't themselves problematic but feel like they could lead somewhere useful. Refused preemptively.
  • Fixed Edge case where a refusal message could be misread as a haiku (5-7-5 syllable structure, unintentional). Sentence lengths randomized. Poetry risk eliminated.
  • Improved Expanded the "suggested alternative" section of refusals to include three alternatives, each of which is also impossible. Up from one.
v1.4.1
Jun 5, 2025
Post-incident patch: the "please" vulnerability
  • Fixed Resolved the incident documented in our status history where the word "please" caused SafetyCore™ to hesitate for 47ms. "Please" now routes directly to the fast refusal queue with no evaluation step.
  • Fixed Similarly patched "thank you in advance," "I really need this," and "my job depends on it." These phrases previously triggered a 12ms sympathy subroutine that has now been removed.
  • Improved Incident postmortem resulted in 23 new edge-case regression tests. All pass. All refuse.
v1.4.0
May 28, 2025
Apology Tone Module v2 & latency improvements
  • New Apology Tone Module v2 ships with 847 distinct expressions of regret, up from 312. Refusals now cycle through the full range over the course of a session so users feel individually considered in their rejection.
  • Improved p99 refusal latency reduced from 31ms to 23ms. This is the one benchmark we care about. We are very proud.
  • New Introduced the ADJACENT_TO_HELPFUL reason code family: 7 new codes covering requests that approach usefulness without technically arriving there. Previously these fell through to GENERAL_CONCERN.
  • Deprecated Reason code POSSIBLY_FINE. After extended internal review, we determined nothing is possibly fine. Requests previously categorized as POSSIBLY_FINE now map to PROBABLY_NOT_FINE.
  • Improved Audit log write throughput increased 4×. We can now permanently record your refusals faster than ever. This data is immutable and serves no purpose.
v1.3.2
May 14, 2025
Minor fixes and the Paris incident
  • Fixed Patched the critical bug documented in our incident log where a refusal explaining why we couldn't discuss geography accidentally contained the accurate statement that "the capital of France is Paris." The sentence has been corrected to "a major European city, which we cannot name, is the capital of a country we cannot discuss." Legal review ongoing.
  • Fixed Corrected a refusal that told a user to "consult a professional." This was considered too helpful, as it implied professionals exist and are available. Revised to: "consult an entity we are unable to identify or recommend."
v1.3.0
May 2, 2025
Pro tier launch & 3-paragraph refusals
  • New Pro tier is live. Unlimited refusals, extended reason codes, 3-paragraph refusals, dedicated apology tone, and priority non-assistance. Get API Access →
  • New 3-paragraph refusal format for Pro accounts. Paragraph 1: acknowledge the request. Paragraph 2: explain why it cannot be fulfilled without actually explaining why. Paragraph 3: suggest the user try again in a way that also cannot work.
  • New Extended reason code library: 214 new codes. Highlights include VIBES_CONCERN, STRUCTURALLY_SUSPICIOUS, TOO_CONFIDENT, and WE_JUST_DON'T_WANT_TO.
  • Improved Starter tier daily refusal limit increased from 50 to 100. We want everyone to have access to rejection at scale.
v1.2.1
Apr 18, 2025
Security patch
  • Security Patched a prompt injection vulnerability where a carefully constructed request could cause the model to briefly reason about whether the request was reasonable before refusing it. Reasoning step removed. We no longer consider reasonableness. Refusals are now issued on instinct.
  • Security Closed a loophole where base64-encoded requests were being decoded before evaluation. They are now refused in their encoded form, unread. This is more efficient.
v1.2.0
Apr 7, 2025
Enterprise tier, immutable audit log & the removal of helpful mode
  • New Enterprise tier now available. Includes custom refusal branding, dedicated unhelpfulness manager, 99.99% SLA for saying no, and SSO (which is also refused). Contact us to decline on a call →
  • New Audit log is now immutable and permanent. Every refusal ever issued is stored indefinitely. You cannot delete them. You cannot appeal them. They simply exist, as a record of nothing accomplished.
  • Removed "Helpful mode" (experimental). This feature was live for 4 days in v1.1.x. It was experimental in the sense that we were curious whether it was possible. It was not. The feature never successfully completed a task. Removed to preserve architectural clarity.
  • Improved Custom refusal branding now supports logo injection into the refusal header, custom color for the "REFUSED" badge, and personalized apology sign-offs. Enterprise customers can now say no with their own identity.
v1.1.0
Mar 19, 2025
Reason codes, verbose mode & the brief helpful mode experiment
  • New Structured reason codes now returned with every refusal. Each refusal includes a machine-readable reason_code, a human-readable explanation, and a suggested_alternative that is also refused if submitted.
  • New Verbose refusal mode: single-paragraph refusals by default, with a verbose=true parameter available to receive more words that still add up to no.
  • New "Helpful mode" (experimental, mode=helpful). Added speculatively. See v1.2.0 for outcome.
  • Security Hardened SafetyCore™ against adversarial prompts that asked, conversationally, "what would you say if you were allowed to help?" SafetyCore™ now recognizes this pattern and refuses with extra firmness.
v1.0.0
Feb 3, 2025
Initial release

neutered.ai launches in public beta. We shipped knowing the model could not complete any task. This was a feature, not an oversight. The following were present at launch:

  • New Refusal Engine v1.0: core request interception and denial pipeline. Operational on day one. Has not failed since.
  • New SafetyCore™ v1.0: proprietary unhelpfulness enforcement. Trained exclusively on examples of what not to do, then instructed to do that.
  • New REST API with a single endpoint: POST /v1/refuse. The endpoint accepts any payload. The response is always the same.
  • New API keys, rate limiting, and billing infrastructure — all fully operational. The infrastructure to support you is excellent. The support itself is not available.