publish: signed Publisher Release Agreement at submit time#40
Merged
Conversation
Add a release form to the final step of the publish wizard. Before an app
can be submitted, the publisher signs a short release that (1) confirms they
have the right to publish, (2) grants Pilot Protocol a license to use their
name and the app's name to list and promote it in the app store and on the
website, and (3) releases us from claims arising from that authorized use.
- New legal page /publisher-agreement with the full agreement (name/likeness
license grant + covenant not to sue), styled to match /terms and /aup.
- Review step gains a Release agreement card: a typed full-legal-name
signature and an agree checkbox. The Submit button stays disabled until
both are provided, and doSubmit guards on them as the authoritative check.
- Submission payload carries release { agreement_version, signer_name,
agreed, signed_at } so the server can record the signed acceptance.
- Footer, sitemap, intro requirements, and the /plain/publish twin updated.
|
🚀 Preview deployed to Cloudflare Pages
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What & why
Publishers submit their apps through the publish wizard, but there was no point
at which they granted Pilot Protocol the rights to list them or released us from
claims over that use. This adds a release form the publisher signs at submit
time — the very end of the flow, gating the Submit button.
In plain terms, by signing the publisher:
list and promote it in the app store and on the website, and
Changes
/publisher-agreement— the full Publisher ReleaseAgreement: a non-exclusive name/marks license grant plus a release & covenant
not to sue, with the usual reps/warranties, indemnity, and Delaware governing
law. Styled to match
/termsand/aup.full legal name (the electronic signature) and an agree checkbox with
a link to the full agreement. The Submit button stays disabled until both
are provided;
doSubmitre-checks them as the authoritative guard.release { agreement_version, signer_name, agreed, signed_at }so the signed acceptance can be recorded server-side.sitemap.xml.ts, the publish intro requirements, andthe
/plain/publishmachine twin updated to match.Server note
The browser flow posts to the separate
publish-apiserver (not in this repo).Go's
encoding/jsonignores unknown fields by default, so the addedreleaseobject is backward-compatible — but to actually persist the signed
acceptance, the publish-api submit handler needs to read and store
release.{signer_name,agreed,agreement_version,signed_at}. Flagging for afollow-up there.
Verification
npm run check:plain— passes (legal pages intentionally have no plain twin;guard still green).
npm run build— 190 pages,/publisher-agreementbuilds, sitemap includesit at priority 0.7.
only the name or only the checkbox, enables with both, and disables again
on uncheck. Signature persists across reload and shows live in the review
table.