Subscribe: RSS · JSON feed · See also the incident log.

2026-10-18

Decoy tools for your agents

  • CanaryAgent can give an agent decoy tools: an MCP server of tools no honest task needs, such as service credentials, a customer export, a shell or an admin grant. You add its address to the agent beside its real tools, and the console writes the lines to paste for Claude Code, the Claude app, Cursor, VS Code and the OpenAI Agents SDK.
  • If anything calls one, every alert channel on your account hears about it, and the console lists the call: the tool, the arguments, the client and where the call came from, sealed so that a later change to the record shows.
  • Free includes one decoy tool server. Shield includes five, Pro 25 and Enterprise 100.
  • The pricing questions no longer say Telegram alerts start on Shield. They work on every plan, Free included.
2026-10-07

Our own error page, a disclosure policy, blog feeds and share cards

  • When a page fails, you now see our own error page inside the site, with a reference to quote and a button to try again, instead of a plain error screen.
  • /privacy covers the report a failing page sends: what is removed from it and how long it is kept.
  • /security has a policy for reporting a vulnerability: what to send, what is in scope, what not to do and what to expect. security.txt and /trust point at it, and /trust no longer links a page you could not open.
  • The blog has RSS and JSON feeds, at /blog/rss.xml and /blog/feed.json.
  • A shared link to a blog post shows a card with that post's title and date, and the comparison pages and the page for SaaS teams show their own cards.
  • The logo's name is drawn in the brand typeface wherever it appears, including the pictures shown with shared links and the logo at the top of our emails.
2026-10-07

A contact page with every inbox, and a page for the founder

  • /contact writes out the three inboxes, sales, hello and security, each as its own mail link, with the Enterprise form below them. Contact is in the header and the phone menu.
  • Every Enterprise inquiry reaches the sales mailbox. The confirmation says the reply comes by email.
  • /about/founder introduces the person who builds CanaryVaults, and the footer links the company's X account, @canaryvaultsai, and its LinkedIn page.
  • Public pages, docs, blog posts and API errors no longer name the software and providers the service runs on. /subprocessors still names every service that handles personal data.
2026-10-06

Analytics only with a yes, Google sign-up fixed, and Shield to try

  • A first visit is asked about analytics before anything is counted, and visits are counted only for visitors who accept. The install-app prompt is gone.
  • Signing up with Google creates your account record and takes you to onboarding.
  • The CanaryShield page lets you run text through the first layer without an account.
  • The open phone menu covers the whole page again, cookie banner included.
  • CanaryShield and onboarding stop making claims about speed nobody measured.
2026-10-05

The homepage on a phone

  • The homepage canary reads and responds on a phone as it does on a desktop.
  • The top bar blurs what scrolls under it in Chrome, so the page no longer reads through it.
  • The footer's closing lines read in one order and sit centred on a phone.
2026-10-04

Docs that are easier to read, and sign-in hardening

  • Docs pages have a contents rail, a docs bar that stays in view and headings you can link to.
  • Every page's content is in its HTML again, rather than in a hidden block a script reveals, so it reads without scripts and search engines see all of it.
  • Signed in, the header and logo are the same size as signed out.
  • Four authentication defects are fixed: in header handling, in checking the signature on mail-delivery notices, in API key verification and in sign-out.
  • The account data export no longer fails with a server error for some accounts, and releasing a database connection no longer costs an extra network round trip.
  • Error reports and server logs mask email addresses and tokens even when they are percent-encoded.
2026-09-11

Security fixes, and console pages that survive a bad answer

  • Fixed an open redirect: a crafted return address could send you to another site after signing in.
  • Signing out clears the signed-in pages the browser had kept for offline use.
  • A cancelled plan now expires. Before, it could stay active.
  • The threat log, referral and advanced pages keep rendering when an answer from the server is missing a field, instead of going blank.
  • A new homepage headline: they take the bait, you take the evidence.
2026-09-10

A pass over every page and the console

  • Phone menus close from the keyboard, comparison tables stack on phones, the footer has a new grid, and the app reloads once, not repeatedly, after an update.
  • No public page or console page sets text below a readable size, and facts in the console wrap instead of being cut off.
  • The CanaryShield ledger tells a model's refusal from a blocked attack, and counts each on its own.
  • Billing agrees with the pricing page, /advanced joins the console, and the dashboard shows the day your usage resets.
  • Organization settings offer only what can succeed and say what is stored, and the Enterprise docs agree with them.
2026-09-07

Evidence hashes for CanaryShield, and corrections

  • Every CanaryShield block carries an evidence hash. The console shows it, and the public verifier checks it and calls it a shield block.
  • When a sealed record has been deleted, verification reports tampering rather than shrugging.
  • Mail our email service accepted but never sent is no longer counted as delivered, and the backup route for password reset mail works; it had never been able to fire.
  • Every docs page tells search engines where it sits in the docs, so a result can show the trail.
  • The Thinkst comparison drops the AI layer versus network layer split, which Thinkst's Agent Provocateur made untrue. A new post covers the wiki incident.
  • A breach whose size was not reported says so, instead of leaving the cell empty.
2026-09-06

Breach alerts that say what they found

  • A breach alert says where the finding was, and no longer prints Unknown in place of the details.
  • Each address is checked against three breach data sets, so far fewer come back unverified.
  • The console and the API no longer name the breach data provider.
  • /subprocessors is corrected: it named a provider the service never calls and left out four it does.
  • CanaryHoneypot no longer claims a hit is sealed as it is captured.
2026-09-05

The console says what the backend knows

  • The dashboard shows how much of your allowance is left, what moved on each product, and where your alerts go.
  • The dashboard, the threat log and every product page say what the backend actually did: whether a scan ran, what was verified, which agents are reporting, and what happened to each honeypot hit.
  • Telegram alerts go where Settings says they go.
  • The console and the account pages fit a phone.
  • A paste site that is down no longer wipes out a breach scan or stops the rotation, and the dark-web sweep resumes where it stopped after a restart.
  • AI analysis moved off the two models its provider retired on 16 August.
2026-09-04

No all-clear the service did not earn

  • A breach scan that could reach no provider says so instead of reporting zero breaches, and Scan now does the same. The onboarding breach check runs, and the dashboard stops saying all clear about things it never checked.
  • A failed CanaryRAG leak check never reads as a clean result.
  • Enterprise accounts get their plan's protected-email allowance; they had been held to the Free tier's one.
  • If the billing record cannot be read, account deletion stops instead of deleting the account and leaving the subscription running.
  • Breach lookups moved to a free, public breach database, and the breach timeline stopped calling a paid lookup on every page load.
  • The 404 page no longer renders under the password field.
2026-09-02

Limits on the AI endpoints

  • The three AI endpoints that had no rate limit have one, and the key it counts by cannot be forged.
  • An unlimited plan no longer switches the usage meter off, and a database outage no longer lifts the limits on AI calls.
  • The public honeypot's daily AI budget fits inside the platform's capacity.
  • The Enterprise column stops promising custom limits nothing can grant.
2026-08-31

Decoys that show up, and a pause that pauses

  • New decoys are saved with their owner again. Many had been saved without one, so the console could not show them.
  • Pause alerts pauses every channel. It had muted only Telegram.
  • The comparison pages and the docs fit a phone without clipping.
  • Three docs claims the code contradicted are corrected.
2026-08-27

Pages that tell the truth about their state

  • Search engines get each page's content again: every page had been shipping an empty body to anything that does not run scripts.
  • Three breaks between choosing a plan and paying for it are fixed.
  • "Settings saved." appears only when the settings were saved, and screens no longer announce things the server never said.
  • A breach check that did not run cannot report an all-clear, and alert channels that had been silently switched off on the tripwire path are on.
  • API keys are checked against a hash of the whole key, and an API key header no longer follows a redirect.
  • Enterprise accounts can use the legal data export, and account deletion erases Enterprise inquiries too.
2026-08-25

No more on-chain claims, and fewer false blocks

  • Every page that said CanaryAudit records are anchored on-chain stops saying it. No record had been, and the decision is written down.
  • CanaryShield stops hard-blocking ordinary business messages it had mistaken for attacks.
  • A breach alert warns you when it is landing in the mailbox that was breached.
  • Incidents now reach the public incidents list.
  • Erasing an account removes the departing party without destroying the other party's record.
2026-08-24

Alerts that report real delivery

  • An alert that reached nobody is reported as a failure, and two products that could alert only a few accounts now reach every account.
  • An Enterprise inquiry notifies the team; it had notified nobody.
  • Fixed a case where a paid plan provisioned no canaries and said nothing, and a failed billing webhook is no longer answered as a harmless duplicate.
  • Account deletion covers seven more kinds of record.
  • API keys work again after a dependency update broke them, and the version is pinned.
  • Pages stop promising features that do not exist: an API, a billing cycle, a single sign-on flow and a test button.
2026-08-23

Error reports without prompt text, and a skill scan that reads the code

  • Error reports sent to the outside error tracker no longer carry prompt text or email addresses.
  • CanaryAgent's skill scan had inverted the model's verdict and passed skills when it failed. Both are fixed, and it now judges what the skill's code does, not only what the model says.
  • The dashboard and Settings load with far fewer round trips to the database.
2026-08-22

Accessibility, docs that match the product, and real mailboxes

  • The focus ring is visible on dark backgrounds, two text colours meet contrast guidelines, the pricing and comparison tables work with a keyboard and a screen reader, and the evidence verifier announces its verdict.
  • The docs describe the product that shipped, and three places that described an API that does not exist are corrected.
  • Replies to our emails reach a mailbox a person reads, and every page that asks you to get in touch names the right address.
  • CanaryShield tags attack types where they match, stops passing your cookies upstream, and says in the response headers when it sanitized a prompt.
  • Honeypot traps created in the console answer at the URL they advertise.
  • Creating an API key no longer fails with a server error.
2026-08-18

Password reset that resets, and API keys in Settings

  • Password reset now changes your password, which it had not been doing, and it has a page of its own.
  • Changing your password signs you out everywhere, and the forgot-password form no longer reveals which addresses have accounts.
  • Settings has an API keys card, so making a key no longer needs a terminal.
  • Checkout no longer fails after a successful payment, and a usage metric the plan does not list no longer puts every request behind the paywall.
  • Transactional email has a new light layout, and bounces and complaints are handled.
  • The dashboard stops saying canaries are planted and watching before they are.
2026-08-15

Honeypot controls, and Shield's flag-only mode

  • Honeypot traps can be paused, resumed, renamed and deleted from the console.
  • A honeypot alerts on any contact, through every channel you have set up. Hits are enriched and join the threat pipeline, and the decoy remembers earlier turns of a conversation.
  • The community shield no longer unmasks or blocks your own traps.
  • CanaryShield's flag-only mode works: it marks a risky prompt without blocking it. Layer 3 no longer alters clean traffic.
  • CanaryRAG trap-fact IDs come from a far larger space, and account deletion erases data scoped to a profile.
2026-08-14

Payments, sign-up and console fixes

  • A PayPal subscription is completed on the server when you return from PayPal.
  • Signing up with an address that already has an account says so, instead of failing with a server error.
  • Canary creation stops at your plan's allowance for each email address.
  • Accounts that are set up and quiet see that, not an invitation to plant their first canary.
  • Rate limits count the real visitor, and a conflicting Telegram setup that silently stopped alerts is detected.
  • The console keeps its own chrome on every page after sign-in, and several phone layouts are fixed.
2026-08-04

Slack, Discord and webhook alerts

  • Alerts can go to Slack, Discord or any webhook, alongside email and Telegram.
  • The site works as an installable app, with an offline page.
2026-07-10

Console redesign lands across the whole app

  • New console shell for signed-in pages: fixed left sidebar, command palette, and shared design tokens.
  • Dashboard, threat log, docs, and all five product workbenches (Vaults, RAG, Shield, Honeypot, Audit) rebuilt on the console visual language.
  • Settings, billing, referral, and onboarding moved to the same language; new public verify and status pages.
  • Mobile: console nav drawer, responsive instruments strip, and the sign-in / sign-up form is now visible above the fold.
  • Post-redesign audit fixes for trust and correctness bugs, including a threat-log verify link that broke the build.
2026-07-10

Pricing and landing pages now match what the backend enforces

  • Plan cards, the Shield card, and secondary landing components sell exactly the identity limits the backend enforces, with no more overselling.
  • Honeypot intent tags wrap correctly on mobile.
  • Repository hygiene: .gitattributes (LF) added, scratch dumps untracked.
2026-07-08

Schema drift is now caught in CI

  • A CI job builds the database schema from scratch and applies every migration in a single transaction to detect schema drift.
  • Real drift found and fixed: tripwire_events backfilled into the canonical schema.
  • Hotfix: /pricing client crash caused by a dangling comparison-modal effect.
2026-07-07

Session and auth hardening

  • Single refresh engine: the server now owns the refresh-token family end to end.
  • Silent session restore via refresh cookie keeps user identity stable across syncs.
  • Closed silent security-net gaps in infrastructure alerting.
  • Pricing honesty pass, auth-credential hygiene, a working noindex mechanism for auth-gated routes, and copy/SEO cleanup.
2026-07-06

CanaryAgent pricing, referral math, and endpoint hardening

  • CanaryAgent added to the pricing comparison table and to the Free and Shield plan cards.
  • Referral discount formula corrected (percent-off, correct for any value); landing free-tier decoy count fixed from 5 to 3.
  • CanaryAgent heartbeat and skill-scan endpoints now require authentication; CanaryRAG monitoring is metered.
  • Route auth-coverage test, RLS owner-policy script, and SameSite=Strict token cookies.
2026-07-05

CanaryAgent becomes the sixth public surface

  • CanaryAgent product page joins the public site; navigation gains Threat Log and Referral.
  • Sitemap points to public pages instead of auth-gated ones; crawler-safe robots, branded 404, and a non-leaky RAG error message.
  • Post-sign-in cleanup: real workspaces, no marketing loops, fake onboarding step removed.

More trust surfaces