Github: https://github.com/WardPearce/Purplix.io

View our canary: https://purplix.io/c/purplix.io/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwLjJD36jQ

What is Purplix Canary?

Purplix Canary is a free & open source warrant canary tool what helps you to build trust with your users.

It allows you to inform users cryptographically if your site has been compromised, seized or raided by anyone.

How does it work?

Site verification

Purplix uses DNS records to verify the domain the canary is for, giving your users confidence they are trusting the right people.

Canary signatures

Each domain is associated with a unique key pair. The private key is generated locally and securely stored within the owner's keychain. When a user visits a canary from a specific domain for the first time, their private key is used to sign the public key. This signed version of the public key is then automatically employed for subsequent visits, effectively mitigating man-in-the-middle attacks and ensuring the trustworthiness of canary statements from the respective domain.

Files

Canaries can include signed documents to help users further understand a situation.

Notifications

Users are automatically notified on the event of a new statement being published.

  • stifle867@programming.dev
    link
    fedilink
    English
    arrow-up
    6
    ·
    1 year ago

    This is a great idea! I wish more websites did warrant canaries, and those that do often fail to maintain them or plan for the case when a gag order prevents them from updating an existing canary. The only thing I would suggest is making it more clear that being in an alpha stage means that the product should not be relied upon in critical situations.

    • CameronDev@programming.dev
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 year ago

      A failed warrant canary is effectively a triggered warrant canary. If its triggered, you have to assume the company has been issued a warrant, and is therefore vulnerable.

      • stifle867@programming.dev
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        What do you mean by a failed warrant canary? In most cases there is no clear failure because there's no clear plan in place to maintain them.

        For example, if a website has a statement "we have received 0 warrants". When was that published? Yesterday? A year ago? More? Even if it has a date, say 6 months ago. What does that mean? That they only update it every year? Or maybe there were meant to update it they just forgot, maybe they aren't allowed to update it due to a gag order.

        Due to the way each website does things differently with no clear guidelines, there isn't actually a defined failure case.

        • CameronDev@programming.dev
          link
          fedilink
          English
          arrow-up
          1
          ·
          1 year ago

          They typically have a date for the message and the date for the next update. If they miss their update, they have failed.

          • stifle867@programming.dev
            link
            fedilink
            English
            arrow-up
            1
            ·
            1 year ago

            While you can find examples of companies doing it correctly, it's also easy to find companies who do not. Also, some update theirs seemingly daily but don't actually state this. Sure, you can check and see that it was updated "today", but what if it doesn't get updated and you don't know its "typically" updated daily. Again, no date for the next update.

            These are all examples of companies who do not explicitly specify when the next update will be: kagi.com/privacy nordvpn.com/security-efforts/ cloudflare.com/transparency/

    • totallynotfbi@lemm.ee
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      Maybe it was updated after your comment, but the demo site has that notice prominently at the top for me