{"id":15150350,"url":"https://github.com/palform/palform","last_synced_at":"2025-10-16T04:38:15.816Z","repository":{"id":255459566,"uuid":"850933045","full_name":"palform/palform","owner":"palform","description":"Build beautiful end-to-end encrypted forms for free","archived":false,"fork":false,"pushed_at":"2024-10-28T23:22:54.000Z","size":6806,"stargazers_count":15,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2024-10-29T22:47:42.488Z","etag":null,"topics":["end-to-end-encryption","form-builder","privacy","rust","wasm"],"latest_commit_sha":null,"homepage":"https://palform.app","language":"Rust","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/palform.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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":"2024-09-02T05:40:22.000Z","updated_at":"2024-10-28T23:22:58.000Z","dependencies_parsed_at":"2024-11-06T13:41:51.517Z","dependency_job_id":null,"html_url":"https://github.com/palform/palform","commit_stats":{"total_commits":93,"total_committers":1,"mean_commits":93.0,"dds":0.0,"last_synced_commit":"8d8d350489ef1075d4568a9fbfb5e2261594d71d"},"previous_names":["palform/palform"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/palform/palform","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/palform%2Fpalform","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/palform%2Fpalform/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/palform%2Fpalform/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/palform%2Fpalform/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/palform","download_url":"https://codeload.github.com/palform/palform/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/palform%2Fpalform/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261233072,"owners_count":23128191,"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":["end-to-end-encryption","form-builder","privacy","rust","wasm"],"created_at":"2024-09-26T14:02:16.215Z","updated_at":"2025-10-16T04:38:15.711Z","avatar_url":"https://github.com/palform.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Palform logo](https://github.com/palform/palform/blob/main/readme_logo.png?raw=true)](https://palform.app)\n\nPalform is a form builder that's:\n\n- open source\n- end-to-end encrypted\n- privacy focussed (minimal third party scripts)\n- full featured\n- free to use [online](https://palform.app) on our European-hosted secure servers\n\nOur _entire_ codebase is open source, including our marketing pages. This repository contains everything needed to operate the service.\n\n## Architecture\nPalform is made up of several Rust and JS components.\n\nWe use Rust with the [Rocket](https://github.com/rwf2/Rocket) framework and [SeaORM](https://github.com/SeaQL/sea-orm) on the backend. This helps maintain very high performance; the observed memory and CPU consumption in practice has been practically zero. Although implementing features is arguably more difficult, the stability guarantees are important and useful.\n\nDatabase IDs are in the form of a custom TSID, with each resource type having its own prefix. Each prefix is mapped to a Rust type, reducing the risk of providing the ID of the wrong kind of resource in code.\n\nThe main frontend app is written in Svelte. OpenAPI bindings in Typescript are automatically generated using the `make frontend_openapi` command.\n\nThe `analysis` and `client-common` components are also written in Rust, containing components that are either exclusively for frontend use, or for shared use between the frontend and backend. On the frontend, these components are compiled into WASM binaries and accompanying bindings using [wasm-pack](https://github.com/rustwasm/wasm-pack). Some things like encryption and bulk analytics needs really good performance, which we've found to be massively better with WASM as opposed to native JS libraries.\n\nWe use the [Sequoia PGP](https://gitlab.com/sequoia-pgp/sequoia/-/tree/main/openpgp) library for handling form encryption and key management on both the backend and frontend.\n\nWe use [Astro](https://astro.build/) and Svelte for the landing page.\n\nWe use [Docusaurus](https://docusaurus.io/) for the blog and documentation pages.\n\n## Contributing\nWe welcome contributions! Please submit a pull request with any changes, and we'll review them. Please note, we might reject some features that don't align with our mission. We want Palform to be full featured, but to avoid \"feature creep\" by introducing things that are far away from the original idea.\n\nThe copyright of any code you submit will belong to Palform Ltd, a registered company in England/UK (15796859). By submitting any code contributions, you accept this.\n\n## Self hosting\nThis repository does not operate any versioned releases, so the code in the `main` branch cannot be assumed to be stable at any point. We'll implement a formal versioning system in the future.\n\nCurrently, self hosting is possible but not officially supported. We don't have any documentation on how to do it yet, but we're still working it out.\n\nWe cannot assume any liability for things that might go wrong on a self hosted instance.\n\n## License\nThe source code is provided under an AGPL license. Please see LICENSE.md.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpalform%2Fpalform","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpalform%2Fpalform","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpalform%2Fpalform/lists"}