{"id":16170659,"url":"https://github.com/wardpearce/syncpad","last_synced_at":"2025-09-11T11:31:04.496Z","repository":{"id":165210225,"uuid":"633656265","full_name":"WardPearce/Syncpad","owner":"WardPearce","description":"SyncPad is a privacy-focused, end-to-end encrypted note-taking and surveying tool.","archived":false,"fork":false,"pushed_at":"2024-12-16T02:22:05.000Z","size":5825,"stargazers_count":40,"open_issues_count":12,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-01T09:44:02.168Z","etag":null,"topics":["collaborative","e2ee","editor","end-to-end-encryption","notepad","notes","privacy","survey","sync"],"latest_commit_sha":null,"homepage":"https://syncpad.org","language":"Svelte","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/WardPearce.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-04-28T01:53:09.000Z","updated_at":"2024-12-30T17:27:45.000Z","dependencies_parsed_at":null,"dependency_job_id":"febfe210-49b2-4e52-a979-38d645bd65ad","html_url":"https://github.com/WardPearce/Syncpad","commit_stats":null,"previous_names":["wardpearce/purplix.io","wardpearce/syncpad"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WardPearce%2FSyncpad","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WardPearce%2FSyncpad/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WardPearce%2FSyncpad/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WardPearce%2FSyncpad/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WardPearce","download_url":"https://codeload.github.com/WardPearce/Syncpad/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":232641223,"owners_count":18554527,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["collaborative","e2ee","editor","end-to-end-encryption","notepad","notes","privacy","survey","sync"],"created_at":"2024-10-10T03:19:18.999Z","updated_at":"2025-09-11T11:31:04.489Z","avatar_url":"https://github.com/WardPearce.png","language":"Svelte","readme":"# Development is on pause.\nI'm busy working on other projects. Syncpad (formally Purplix) will continue development once I have more free time. Consider the current source code a proof of concept.\n\n# This project is NOT production ready.\n\n\u0026nbsp;\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"https://i.imgur.com/1pkrLq9.png\" width=\"100px\" /\u003e\n  \u003ch1\u003ePurplix\u003c/h1\u003e\n  \u003cblockquote\u003e\n    Purplix is an open-source collection of tools dedicated to user privacy and creating trust with your audience.\n  \u003c/blockquote\u003e\n\u003c/div\u003e\n\n\u0026nbsp;\n\n# About\n## What is Purplix Survey?\n![Purplix survey preview](https://files.catbox.moe/13yjgb.gif)\n\nPurplix Survey is a free \u0026 open-source survey tool that can't read your questions and answers.\n\nWith traditional surveys, you are one data breach, one rogue employee, or one government warrant away from all your users' data being exposed. Purplix uses modern encryption techniques to keep your users' data away from any actors.\n\n### How does it work?\n#### Questions, Descriptions \u0026 Title Encryption\n\nWhen you create a survey, we encrypt your title, descriptions, and questions with a secret key. This key is then stored encrypted in your keychain. When you share your survey with others using a link, the key is stored in the link for your participants. This ensures that your survey questions can only be read by your participants.\n\n#### Answers Encryption\nEvery survey has its own unique key pair. The private key is securely stored in your keychain, while the public key is used by users to encrypt their answers. Only you have the means to decrypt the answers once they are submitted. When you share a survey, we include a hash of the public key in the URL to prevent man-in-the-middle attacks.\n\n#### Preventing Spam \u0026 Multiple Submissions\nSurvey creators can opt-in to use VPN blocking, requiring a Purplix account, or IP blocking. IP blocking works by storing a hash of the IP salted with a key not stored by Purplix, minimizing the attack surface of tracking submission locations. These IP hashes are only stored for 7 days or until the survey closes. Users will always be informed when any of these features are enabled.\n\n## What is Purplix Canary?\n![Image of canary site](https://i.imgur.com/c3HUe1C.png)\nPurplix Canary is a free \u0026 open-source warrant canary tool that helps you build trust with your users.\n\nIt allows you to inform users cryptographically if your site has been compromised, seized, or raided by anyone.\n\n### How does it work?\n#### Site Verification\nPurplix uses DNS records to verify the domain the canary is for, giving your users confidence that they are trusting the right people.\n\n#### Canary Signatures\nEach 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.\n\n#### Files\nCanaries can include signed documents to help users further understand a situation.\n\n#### Notifications\nUsers are automatically notified on the event of a new statement being published.\n\n# Have any questions?\n[Join our Matrix space](https://matrix.to/#/#ward:matrix.org)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwardpearce%2Fsyncpad","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwardpearce%2Fsyncpad","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwardpearce%2Fsyncpad/lists"}