{"id":15628769,"url":"https://github.com/philhawksworth/netlify-plugin-form-submissions","last_synced_at":"2026-01-20T11:02:52.150Z","repository":{"id":65456945,"uuid":"278338619","full_name":"philhawksworth/netlify-plugin-form-submissions","owner":"philhawksworth","description":"Fetch all submissions made to Netlify Forms in your site and stash them as JSON files before your build runs making the data available to your static site generator at build time.","archived":false,"fork":false,"pushed_at":"2020-07-16T10:43:04.000Z","size":11,"stargazers_count":2,"open_issues_count":5,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-10-02T03:26:01.313Z","etag":null,"topics":["forms","jamstack","netlify","netlify-plugin"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/philhawksworth.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-07-09T10:51:32.000Z","updated_at":"2023-05-12T16:59:40.000Z","dependencies_parsed_at":"2023-01-24T11:55:11.863Z","dependency_job_id":null,"html_url":"https://github.com/philhawksworth/netlify-plugin-form-submissions","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/philhawksworth/netlify-plugin-form-submissions","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/philhawksworth%2Fnetlify-plugin-form-submissions","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/philhawksworth%2Fnetlify-plugin-form-submissions/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/philhawksworth%2Fnetlify-plugin-form-submissions/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/philhawksworth%2Fnetlify-plugin-form-submissions/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/philhawksworth","download_url":"https://codeload.github.com/philhawksworth/netlify-plugin-form-submissions/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/philhawksworth%2Fnetlify-plugin-form-submissions/sbom","scorecard":{"id":731217,"data":{"date":"2025-08-11","repo":{"name":"github.com/philhawksworth/netlify-plugin-form-submissions","commit":"69dd463bd0a22600c695b0acc302ba54e542e67b"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3,"checks":[{"name":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":0,"reason":"Found 0/12 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENCE:0","Info: FSF or OSI recognized license: MIT License: LICENCE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-22T14:29:04.387Z","repository_id":65456945,"created_at":"2025-08-22T14:29:04.387Z","updated_at":"2025-08-22T14:29:04.387Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28602175,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-20T10:46:13.255Z","status":"ssl_error","status_checked_at":"2026-01-20T10:42:51.865Z","response_time":117,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["forms","jamstack","netlify","netlify-plugin"],"created_at":"2024-10-03T10:23:41.117Z","updated_at":"2026-01-20T11:02:52.126Z","avatar_url":"https://github.com/philhawksworth.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Netlify Plugin - Form Submissions\n\nThis [plugin](https://www.netlify.com/build/plugins-beta?utm_source=github\u0026utm_medium=plugin-formsubmissions-pnh\u0026utm_campaign=devex) adds the ability to fetch all submissions made to [Netlify Forms](https://www.netlify.com/products/forms/?utm_source=github\u0026utm_medium=plugin-formsubmissions-pnh\u0026utm_campaign=devex) in your site and stash them as JSON files before your build runs making the data available to your static site generator at build time.\n\n## Overview\n\nThis plugin uses the Netlify API to request the data submitted to your forms. It can be configured to request the data from all forms, or from forms with specific names.\n\nYou can also configure this plugin to present the gathered data in the appropriate location, so your chosen [static site generator](https://www.netlify.com/blog/2020/04/14/what-is-a-static-site-generator-and-3-ways-to-find-the-best-one/?utm_source=github\u0026utm_medium=plugin-formsubmissions-pnh\u0026utm_campaign=devex) can leverage it during the build.\n\n\n## A demo to explore and to clone\n\n- Demo site: https://demo-netlify-plugin-form-submissions.netlify.app/\n- Demo repo: https://github.com/philhawksworth/demo-netlify-plugin-form-submissions\n\n\n## Installation\n\nTo include this plugin in your site deployment:\n\n\n### 1. Add the plugin as a dependency\n\n```bash\n\n# Add the plugin as a dependency of your build\nnpm i --s netlify-plugin-form-submissions\n\n```\n\n\n### 2. Add the plugin and its options to your netlify.toml\n\nThis plugin will fetch the submission to specified forms and stash the data prior to the execution of the `build` command you have specified in your Netlify configuration. You can choose which forms you want get the submission for, or just get them all by adding some config in the `netlify.toml` config file. The plugin will discover all the form present in your site.\n\n\n```toml\n# Config for the Netlify Build Plugin: netlify-plugin-form-submissions\n[[plugins]]\n  package = \"netlify-plugin-form-submissions\"\n\n  [plugins.inputs]\n    # Get submissions for specific forms\n    # e.g. \"form-name\"\n    # e.g. [\"form-name-1\", \"form-name-2\"]\n    # e.g. \"ALL\"\n    # default: \"ALL\"\n    formNames = \"my-snazzy-form\"\n\n    # the folder to receive a json file for each form\n    dataDirectory = \"site/_data\"\n\n```\n\n### 3. Grant access via the Netlify API\n\nThe plugin uses the Netlify API to access your form submissions data and requires an access token to be stored as a site environment variable.\n\n1. Visit your [Netlify User Settings](https://app.netlify.com/user/applications?utm_source=github\u0026utm_medium=plugin-formsubmissions-pnh\u0026utm_campaign=devex ) to create a new Personal access token\n2. Create a `NETLIFY_AUTH_TOKEN` [environment variable in your site dashboard](https://docs.netlify.com/configure-builds/environment-variables/?utm_source=github\u0026utm_medium=plugin-formsubmissions-pnh\u0026utm_campaign=devex#declare-variables) containing this access token.\n3. For local development, you may also wish to specify this environment variable in a local `.env` file (remember to add your `.env` file to your `.gitignore`)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphilhawksworth%2Fnetlify-plugin-form-submissions","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fphilhawksworth%2Fnetlify-plugin-form-submissions","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphilhawksworth%2Fnetlify-plugin-form-submissions/lists"}