Skip to content

feat: prepare site for Paddle domain approval#161

Merged
INQTR merged 15 commits intomainfrom
codex/paddle-approval-readiness
Feb 27, 2026
Merged

feat: prepare site for Paddle domain approval#161
INQTR merged 15 commits intomainfrom
codex/paddle-approval-readiness

Conversation

@INQTR
Copy link
Owner

@INQTR INQTR commented Feb 27, 2026

Summary

  • Update refund policy with 30-day money-back guarantee (previously 14 days) and definitive language
  • Update Terms of Service: operator identity in Section 1, Paddle reseller boilerplate in Section 10, clear support flow split
  • Explicitly name Paddle.com as merchant of record throughout

Context

Addresses Paddle domain review feedback:

  1. Refund policy — now specifies exact 30 calendar day refund window (meets Paddle seller handbook minimum)
  2. Business name mismatch — Terms now clearly identify "Bohdan Ivanchenko" as operator "doing business as AgileKit" in the very first section

Test plan

  • Verify /refund-policy page renders correctly with 30-day references
  • Verify /terms page renders correctly with operator identity in Section 1 and Paddle reseller clause in Section 10
  • Run npm run lint and npm run ts:check — both pass

🤖 Generated with Claude Code

INQTR and others added 10 commits February 27, 2026 17:07
- Update typography and headings to use larger, tighter tracking.
- Redesign the status banner and pricing cards for a more modern look.
- Overhaul comparison table and FAQ section.
- Match styling with the rest of the updated site aesthetics.

Made-with: Cursor
…o highlights

Group features into 5 categories (Core Planning, History & Retention,
Analytics & Insights, Exports & Integrations, Support) to make Pro's
value proposition more visible. Expand from 9 to 19 features, add
filled-circle checkmarks for Pro-exclusive rows, and improve mobile
responsiveness.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Swap Auto-Complete Voting, Player Management, and Synchronized Timer
out of the bento grid in favor of Jira Integration, Time-to-Consensus,
and Voter Alignment — three shipped Pro features that better showcase
the product's current strengths. Trim recentlyShipped to keep only
Sprint Predictability Score and Enhanced Data Exports.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Update refund window from 14 to 30 calendar days to meet Paddle seller
  handbook minimum requirement
- Replace conditional "if and when" language with definitive policy
  statements
- Add operator identity (Bohdan Ivanchenko) to Terms Section 1 for
  immediate visibility to Paddle reviewers
- Use standard Paddle reseller boilerplate in Terms Section 10
- Explicitly name Paddle.com as merchant of record throughout

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@vercel
Copy link
Contributor

vercel bot commented Feb 27, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
agilekit Ready Ready Preview, Comment, Open in v0 Feb 27, 2026 10:57pm

@claude
Copy link

claude bot commented Feb 27, 2026

PR Review — feat: prepare site for Paddle domain approval

This is a focused, well-scoped PR. The changes are content/legal updates and the code mechanics are clean. A few observations:


Code Quality ✅

  • Whitespace cleanup (trailing spaces removed from terms-content.tsx) is a nice touch.
  • The {" "} addition in the refund policy heading is the correct JSX way to handle whitespace between text and a <span>.
  • Section IDs are updated to match new content (future-purchasesmoney-back-guarantee) — good for anchor links and accessibility.

Potential Issue: Operator Identity Duplication

src/app/terms/terms-content.tsx, Section 1 vs Section 2

Section 1 now reads:

"AgileKit is operated by Bohdan Ivanchenko, a registered Individual Entrepreneur (FOP - Sole Proprietorship) in Ukraine, doing business as AgileKit."

Section 2 then repeats much of this:

"The service is operated and supported by Bohdan Ivanchenko, a registered Individual Entrepreneur (FOP - Sole Proprietorship) in Ukraine."

This creates duplication. Section 1's addition is intentional (Paddle reviewers read Section 1 first), but consider whether Section 2 needs to keep repeating the FOP detail or if it can just reference "the Operator identified in Section 1" to keep things tidy.


Minor: Paddle Customer Service Wording

In Terms Section 10:

"Paddle provides all customer service inquiries and handles returns."

This is standard Paddle boilerplate, but it may confuse users who contact AgileKit support expecting help. If you plan to handle first-line support yourself, consider whether this wording accurately reflects the actual support flow. This is a business/legal decision, not a code issue.


Date Consistency

The "Last updated" date changed from February 27 to February 28 in both files. Since today is February 27, 2026 and this PR is presumably being merged tomorrow, this is fine — just make sure the merge actually happens on Feb 28 or update accordingly.


No Issues Found With

  • Security: no user-facing input, no data handling changes
  • Performance: static content only, no impact
  • Test coverage: appropriate — lint/type-check pass is sufficient for content-only changes; no automated tests needed
  • The 30-day guarantee language is stated consistently across the refund policy page (sections 2 and 4, the sidebar, and the metadata)

Overall: LGTM with the duplication note above as a suggestion, not a blocker. The changes accomplish the stated goal clearly and the code is clean.

- Section 2: reference Section 1 instead of repeating FOP detail
- Section 10: clarify Paddle handles billing/refunds, AgileKit handles
  product support

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@claude
Copy link

claude bot commented Feb 27, 2026

PR Review

This PR updates legal/policy content to satisfy Paddle's domain approval requirements. The changes are focused and sensible. A few observations below.

Scope mismatch between description and diff

The PR description lists several changes that are not present in this diff:

  • Analytics consent banner (GDPR opt-in for Google Analytics / Vercel Speed Insights)
  • ToS/Privacy consent text added to room join dialog
  • Pricing, features, and about page redesigns
  • Refund policy link added to footer

Only two files are actually modified: src/app/refund-policy/page.tsx and src/app/terms/terms-content.tsx. If those other changes are intended to be part of this PR, they're missing. If they were merged separately or are out of scope here, the description should be trimmed to match what's actually changed.

Terms Section 2 — circular self-reference

Before:

References to 'AgileKit', 'we', 'us', or 'our' in these terms refer to the Operator.

After:

References to 'AgileKit', 'we', 'us', or 'our' in these terms refer to AgileKit.

The new wording defines "AgileKit" as "AgileKit" — circular and legally weaker than the old version. Additionally, the new Section 2 now says "operated by the individual identified in Section 1" instead of naming Bohdan Ivanchenko directly, which creates a fragile cross-reference (if section numbering ever shifts, this breaks). Consider either restoring the explicit name in Section 2, or keeping the "Operator" defined term to avoid the circular reference.

"Last updated" date is Feb 28 while today is Feb 27

Both files flip the date from February 27, 2026February 28, 2026. If this PR is being merged today (Feb 27), the displayed date would be one day in the future. Worth double-checking before merge.

Positive notes

  • Section 1 addition is well-placed — surfacing the operator identity ("Bohdan Ivanchenko... doing business as AgileKit") at the very top of the Terms is exactly what Paddle reviewers want to see.
  • Section 10 Paddle boilerplate follows standard merchant-of-record language correctly.
  • Refund policy Section 2 clearly states the 30-calendar-day window, which meets Paddle's minimum requirement.
  • 30-day deadline is now consistently stated in both the refund policy (Sections 2 and 4) and the Terms (Section 10) — good consistency.
  • The minor trailing whitespace cleanup in terms-content.tsx is fine.

No code quality or security concerns

These are content/text changes with no logic, no data handling, and no new dependencies. Lint/type-check should pass cleanly.


Summary: Two actionable items before merging:

  1. Clarify or remove the out-of-scope items from the PR description.
  2. Fix the circular definition in Terms Section 2 (or restore the "Operator" defined term).
  3. Verify the Feb 28 date is intentional.

Introduce 'Operator' defined term and name Bohdan Ivanchenko explicitly
instead of circular "AgileKit refers to AgileKit" wording.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@claude
Copy link

claude bot commented Feb 27, 2026

PR Review: feat: prepare site for Paddle domain approval

This is a content-only PR updating legal pages for Paddle domain approval. No code logic changes.

Overall Assessment

The changes are clear, well-scoped, and accomplish the stated Paddle compliance goals. A few observations below.


Minor Issues

1. "Last updated" date is tomorrow (Feb 28 vs Feb 27 today)

Both pages show Last updated: February 28, 2026. If this is intentional (merging tomorrow), fine — but if it is a mistake, update to Feb 27.

2. Refund contact flow is slightly inconsistent between the two pages

  • Terms of Service (Section 10) says: "For billing inquiries, payment disputes, and refund processing, Paddle handles these directly."
  • Refund Policy (Section 4 / Contact) says: "Refund requests for self-serve purchases must be submitted within 30 calendar days" with a link to ivanchenko.b@gmail.com.

This could confuse users about where to submit refund requests — directly to Paddle, or via email to you. Consider aligning the two pages with a clear flow, e.g.:

"To request a refund, contact us at ivanchenko.b@gmail.com and we will process it via Paddle."

or

"Refund requests are handled by Paddle directly — see your order confirmation for the Paddle support link."


Good Changes

  • Operator identity in Section 1 — Good move. Putting this upfront satisfies the Paddle requirement that the business entity be clearly identified early in the ToS.
  • Explicit Paddle.com naming — Previously ambiguous ("a merchant of record or payment provider such as Paddle"). Now definitive and correct per Paddle boilerplate requirements.
  • 30-day window explicitly stated — Meets Paddle seller handbook minimum and eliminates any ambiguity.
  • Section 2 restructuring — The cross-reference to Section 1 avoids full duplication while keeping Section 2 useful as a contact pointer.
  • JSX whitespace fix in h1 ({" "} between "Refund" and the styled span) — Correct fix, prevents text rendering as "RefundPolicy" if the span styling changes.
  • Trailing whitespace cleanup in terms-content.tsx — Clean.

Test Plan Notes

The checklist items in the PR description are appropriate for content-only changes. Lint and type checks passing is sufficient here — no new logic was introduced.

Generated with Claude Code

Both pages now direct users to contact us via email, and we process
refunds through Paddle — consistent flow instead of conflicting
instructions.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@claude
Copy link

claude bot commented Feb 27, 2026

PR Review: feat: prepare site for Paddle domain approval

This is a focused legal/content update with no functional code changes. Overall the changes are clean and well-targeted at Paddle's requirements.


Positives

  • Consistent messaging: Both refund-policy and terms pages are updated in sync — same date, same 30-day window, same Paddle.com naming.
  • Precise legal language: "30 calendar day" (not just "30 days") is the right choice for legal clarity.
  • Appropriate carve-outs: The "unless a different written agreement applies or mandatory law requires otherwise" clause in the refund policy is correctly cautious.
  • Cross-referencing is clean: Section 2 of Terms now references Section 1 for operator details rather than duplicating the full legal entity description.
  • Whitespace fix: Changing Refund <span>Policy</span> to Refund{" "}<span>Policy</span> is a good explicit whitespace handling improvement.

Observations / Minor Notes

Section 1 + Section 2 redundancy in Terms

Section 1 now includes the full operator identity, and Section 2 says "as further described in Section 1". This is intentional (belt-and-suspenders for Paddle's reviewer) and works as a legal pattern. Just worth noting that if either section is updated in the future, both need to stay in sync.

"Last updated" date is February 28, 2026

Today per the system date is February 27, 2026. The date bump to the 28th presumably anticipates merge timing. That's reasonable, but if the PR merges later than expected the date would be off. Low-stakes, just worth noting.

Personal email for business contact

ivanchenko.b@gmail.com was already the contact email before this PR — not a new concern. But for a Paddle-compliant merchant setup, a business domain email (e.g., billing@agilekit.app) would be more professional and may be expected by Paddle. Not a blocker.


Security / Performance

No concerns — these are static content pages with no logic changes.


Test Coverage

The test plan (lint + ts:check + manual page verification) is appropriate for legal content pages. No automated tests needed here.


Verdict

Approve — the changes are correct, consistent, and well-scoped to meet Paddle's domain approval requirements. The legal language looks solid.

Refund requests now go through Paddle directly via order confirmation
link. General billing questions still go to email contact.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@claude
Copy link

claude bot commented Feb 27, 2026

PR Review: feat: prepare site for Paddle domain approval

This is a content/legal PR with clean, focused changes. Here's my review:

Summary

The changes update two pages to satisfy Paddle's domain approval requirements:

  1. /refund-policy — 30-day guarantee, Paddle as MoR, clearer support flow
  2. /terms — Operator identity in Section 1, Paddle reseller boilerplate in Section 10

Code Quality ✅

  • Changes are minimal and well-scoped — no unrelated edits
  • The JSX whitespace fix in the h1 ({" "} between text and <span>) is a correct React approach for preserving the space
  • Trailing whitespace cleanup in terms-content.tsx is good hygiene

Content Consistency ✅

  • "30 calendar day" phrasing is consistent across both files (metadata, body, sidebar cards, ToS Section 10)
  • Support flow split is clear and consistent: refund requests → Paddle directly; general billing → operator email

Minor Observations

Date hardcoding — Both files update Last updated to February 28, 2026. This is a fixed string, which is fine for legal pages, but make sure the PR actually merges on or after Feb 28 to avoid having a future-dated document go live.

Operator identity redundancy — After this PR, Section 1 introduces the operator identity and Section 2 restates it with cross-reference back to Section 1. This is intentional for Paddle review (getting the identity as early as possible) and the cross-reference makes it coherent, but it's worth knowing this is a deliberate duplication, not an accidental one.

ToS Section 10 boilerplate — The Paddle reseller boilerplate ("Our order process is conducted by our online reseller Paddle.com. Paddle.com is the Merchant of Record for all our orders.") matches Paddle's standard required language — looks correct.


Security / Performance

No concerns — this is purely static content. No new data flows, API calls, or user inputs introduced.


Test Coverage

The test plan is appropriate: rendering checks and lint/type-check pass. No E2E tests needed for static content pages.


Verdict

Looks good to merge. The changes are targeted, legally coherent, and match standard Paddle integration requirements. No blocking issues.

Use support@agilekit.app instead of personal Gmail across pricing,
privacy policy, refund policy, and terms of service pages.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@claude
Copy link

claude bot commented Feb 27, 2026

PR Review: feat: prepare site for Paddle domain approval

This is a focused content-only PR updating legal pages for Paddle domain approval. The changes are straightforward and well-scoped.

Summary of Changes

  • Email addresses updated from personal Gmail to support@agilekit.app (5 files)
  • Refund policy: 14-day to 30-day money-back guarantee, section rewritten
  • Terms Section 1: Added operator identity up front
  • Terms Section 10: Added Paddle as named MoR with standard reseller boilerplate
  • Minor whitespace cleanup in terms-content.tsx

Observations

Positive

  • Email migration from a personal Gmail to a business address (support@agilekit.app) is the right call for a production product — consistent across all 5 occurrences.
  • The 30-day language is precise ("30 calendar days of the original purchase date") and consistent throughout the refund policy page.
  • The Paddle reseller boilerplate in Section 10 is correctly worded per Paddle requirements ("online reseller", "Merchant of Record for all our orders").

Minor Issues

  1. Date mismatch: The "Last updated" date was bumped to February 28, 2026 in both refund-policy/page.tsx and terms-content.tsx. Today is February 27. If this PR is merged today, the published date will be one day in the future. Consider setting it to the actual merge date or leaving it as Feb 27 and updating on merge.

  2. Self-referential cross-section: Section 2 of the Terms now reads "as further described in Section 1", but Section 1 is where the full definition lives. Since Section 2 is the operator contact section, users landing on Section 2 are sent back to Section 1 for context. Legally fine, just a readability note.

  3. Refund flow split: The refund policy (Section 4) and Terms (Section 10) both direct users to "see your order confirmation for the Paddle support link." If a user cannot find their order confirmation, there is no fallback contact in the refund policy section itself. The Terms direct them to the Section 2 email for general billing, but the refund policy does not. Minor UX consideration.

No Issues Found

  • No code logic changes — purely content/text
  • No security concerns
  • No TypeScript or lint issues (confirmed by PR author)
  • No test changes needed for content-only updates

Verdict

The changes are correct, well-targeted, and consistent across all affected pages. The items above are minor polish points, not blockers. Ready to merge once the date question is resolved.

@INQTR INQTR merged commit c9ec303 into main Feb 27, 2026
4 checks passed
@INQTR INQTR deleted the codex/paddle-approval-readiness branch February 27, 2026 22:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant