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.

  • @jet@hackertalks.com
    link
    fedilink
    English
    8
    edit-2
    9 months ago

    Shouldn’t there be a notification when a statement isn’t published? Or when the text changes? (Or is that what is meant by a new statement?)

    Is the intention to build this into a browser extension?

    Love your projects, love the philosophy, great work!

    • WardPearceOP
      link
      fedilink
      English
      59 months ago

      Agreed, should have an alart for missed canaries. Each canary has “statements” you publish new statements to update ur canary. This provides a signed record of passed canaries.

      Browser extension or even mobile app could be another aspect of further securing validation. Currently we do store a offline backup for each public key in idb storage & a signed copy if you have a account for further validation if the URL hash has been tampered with.

      Thank you for your kind words ❤️❤️

  • @stifle867@programming.dev
    link
    fedilink
    English
    39 months 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
      19 months 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
        19 months 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
          19 months 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
            19 months 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/

  • @CameronDev@programming.dev
    link
    fedilink
    English
    19 months ago

    Someone please correct me if I am wrong, but I was under the impression that warrent canaries were a broken concept. Anyone with the power to submit a warrant to a company also has the ability to prevent the company from triggering their canary.

    • rinkan 輪姦
      link
      English
      29 months ago

      The canary is triggered through inaction, not action. The government would have to compel the target of the subpoena to keep updating the canary on schedule.