Thought people might be interested in seeing a project I’ve almost completed.

Purplix.io is a open source end-to-end encrypted survey system & warrant canary manger / viewer.

Would love some feedback or to answer any questions anyone has!

(Ignore the Nav not expanding to the bottom on some of the screenshots, thats just due to the screen shotting tool i use for full page screenshots.)

  • dtb@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    13
    ·
    1 year ago

    When you say end-to-end encrypted, what are you referring to?

    What’s the intent for this tool that isn’t solved via TLS?

    Also, just as an aside, but this is kind of funny given the context:

    • WardPearce@lemmy.nzOP
      link
      fedilink
      English
      arrow-up
      7
      ·
      edit-2
      1 year ago

      E2EE meaning survey questions and answers are encrypted locally & decrypted locally. The server or any other actors can’t view survey questions aside from users its shared with and survey answers are only readable by the owner of such survey.

      This means on a data leak, nothing is readable.

      Yea Purplix.io is still in development, so it isn’t live yet. Hense the fail DNS lookup you show.

        • WardPearce@lemmy.nzOP
          link
          fedilink
          English
          arrow-up
          1
          ·
          edit-2
          1 year ago

          Not 100% sure what you mean, but the encryption key for questions are only known by users who are shared the link & is never transmitted to the server. Answers are encrypted by the survey’s public key what only the creator of said survey knows the private key. The public key is also encrypted by the secret key in the URL so the server can’t even submit answers.

          Here is a example URL of a survey.

          example.com/s/64b185662c74e7c40cac5e66/KfcrkxiR-4nomGbEqNos0dyhEBsgiUAqPpZiRQt5syE#oAnQnjWhxq2IFTZBvrylVSHxg92HoWQr2mJQ-qZwvPY

          • s/64b185662c74e7c40cac5e66 - This is the survey ID, transmitted to server.
          • /KfcrkxiR-4nomGbEqNos0dyhEBsgiUAqPpZiRQt5syE - This is a hash of the survey’s signing public key, this is to stop MITM attacks from the host & validation of the survey questions.
          • #oAnQnjWhxq2IFTZBvrylVSHxg92HoWQr2mJQ-qZwvPY - This is the secret key for decrypting questions, this is also used to decrypt the public key for encrypting answers. This key is never transmitted to server.

          All encryption & decryption happens locally, so the server never sees any plain text. It is possible for the host to modify the frontend to expose keys, but this is true of any web app & Purplix is hosted from Vercel straight from our Git repo, so it would be quite obvious if this happened.

  • HughJanus@lemmy.ml
    link
    fedilink
    English
    arrow-up
    4
    ·
    1 year ago

    Can’t really see your screenshots but do you have alternate voting systems like Ranked Choice or Approval?

    • WardPearce@lemmy.nzOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      Purplix is planning to launch with multiple choice, single choice, short answer and long answer. After launch we’ll be adding additional answer types.

    • WardPearce@lemmy.nzOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      Don’t know the complete inner workings of Cryptpad. But it appears Purplix uses more modern encryption, uses more modern frameworks & has more safe guards against MITM attacks. Also additional options like captcha, proxy block, account required etc.

    • WardPearce@lemmy.nzOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 year ago

      Sheeesshh, you know when Public lewdness supports your project you know its good! Thanks for the kind words, have a great day.

    • WardPearce@lemmy.nzOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      No, survey questions and answers are encrypted & decrypted locally. At no point does the server or any other actors can view that plain data said from whom the survey is intended for.

      • Tangent5280@lemmy.world
        link
        fedilink
        English
        arrow-up
        0
        ·
        1 year ago

        I understand encrypted-at-rest to mean that the data is always stored under encryption, except when it is being actively being used or displayed. Am I wrong? So in your usecase also, all data is stored under encryption and only decrypted by the surveyor or the surveyed; so this is encrypted at rest, no?

        • WardPearce@lemmy.nzOP
          link
          fedilink
          English
          arrow-up
          3
          ·
          1 year ago

          Encrypted at rest doesn’t always mean E2EE. For example if data is transmitted in plain text to the server and then encrypted before storage. This is still encrypted at rest.

    • WardPearce@lemmy.nzOP
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      Yea I’d love to have Paaster audited, currently I don’t think its likely I’d get enough funding to do so as auditing is expensive.

        • WardPearce@lemmy.nzOP
          link
          fedilink
          arrow-up
          3
          ·
          edit-2
          1 year ago

          No not currently, not comfort taking funding for any of my projects right now, until I establish some sort of expensive breakdown and transparent fund use. But even with funding a decent audit from a company who knows what they are doing would probably be 7k USD minimum.

          I do have a personal fund for hosting, what is used for Paaster. https://github.com/sponsors/WardPearce