new terms of service and refunds

This commit is contained in:
Mark Gregory
2026-10-01 08:00:18 +01:00
parent c357a35b77
commit 0bcf23d45b
4 changed files with 243 additions and 12 deletions
+1
View File
@@ -253,6 +253,7 @@
<a href="{{ route('support') }}">Support</a>
<a href="{{ route('privacy') }}">Privacy</a>
<a href="{{ route('terms') }}">Terms</a>
<a href="{{ route('refund') }}">Refunds</a>
<a href="{{ route('cookies') }}">Cookies</a>
<button type="button" class="footer-cookie-link" data-cookie-settings>Cookie settings</button>
@auth @if(auth()->user()->hasVerifiedEmail())<a href="{{ route('portal.index') }}">Licence portal</a>@endif @else<a href="{{ route('login') }}">Sign in</a>@endauth
+102
View File
@@ -0,0 +1,102 @@
@extends('layouts.app', ['title' => 'Refund Policy — SonarDesk'])
@section('content')
@php($legal = config('sonardesk.legal'))
<article class="legal-page">
<header class="legal-head">
<span class="eyebrow">Legal</span>
<h1>Refund Policy</h1>
<p>Last updated 1 October 2026</p>
</header>
<div class="legal-intro">
This policy explains cancellation, refund and statutory consumer rights for SonarDesk subscriptions.
SonarDesk payments are processed by Paddle, our Merchant of Record. Nothing in this policy limits any
rights or remedies that cannot lawfully be limited.
</div>
<section>
<h2>1. Seven-day free trial</h2>
<p>Where shown at checkout, SonarDesk includes a seven-day free trial. You can cancel before the trial
ends to prevent the subscription converting to a paid subscription. If you cancel during the trial
before a charge is made, there is no subscription payment to refund.</p>
</section>
<section>
<h2>2. Cancelling a paid subscription</h2>
<p>You may cancel your subscription through the SonarDesk licence portal or the subscription-management
facilities provided through Paddle. Cancellation stops future automatic renewals. Unless stated
otherwise during cancellation, your licence normally remains available until the end of the billing
period for which you have already paid.</p>
<p>Cancellation does not itself create a refund for an earlier payment.</p>
</section>
<section>
<h2>3. Refund requests</h2>
<p>If you believe a payment should be refunded, contact
<a href="{{ route('support') }}">SonarDesk Support</a> as soon as possible. Please provide the email
address used for the purchase and enough information for us to identify the transaction. Do not send
full payment-card details.</p>
<p>Because Paddle is the Merchant of Record, a refund may be processed by Paddle and may also be
requested through Paddle's buyer-support facilities. Approved refunds are returned to the original
payment method in accordance with Paddle's processing arrangements and the payment provider's timing.</p>
</section>
<section>
<h2>4. UK and EEA consumer withdrawal rights</h2>
<p>If you purchase as a consumer, applicable law may provide a cooling-off or withdrawal period for
distance contracts. For UK consumers this is generally 14 days, subject to the statutory rules and
exceptions that apply to digital content and services.</p>
<p>If you expressly request or consent to digital supply or performance beginning during a statutory
withdrawal period, the law may affect the right to withdraw once supply or performance has begun.
Nothing on this page removes a statutory right that applies to your purchase.</p>
</section>
<section>
<h2>5. Faulty or misdescribed digital content</h2>
<p>This refund policy does not replace your statutory remedies. If SonarDesk is faulty, materially not
as described, or otherwise fails to meet rights that apply to digital content or services under
consumer law, you may be entitled to a repair, replacement, price reduction, refund or another remedy
depending on the circumstances.</p>
</section>
<section>
<h2>6. Duplicate or incorrect charges</h2>
<p>If you believe you have been charged twice, charged after a valid cancellation, charged an incorrect
amount, or charged for the wrong plan, contact us promptly. We will investigate the subscription and
transaction records and, where appropriate, arrange correction or refund through Paddle.</p>
</section>
<section>
<h2>7. Renewal payments</h2>
<p>Subscriptions renew automatically until cancelled. A renewal charge is not automatically refundable
solely because the subscription was not cancelled before renewal. We will nevertheless consider refund
requests fairly, taking account of the circumstances, applicable law, the timing of the request and
whether the renewed service has been used.</p>
</section>
<section>
<h2>8. Chargebacks</h2>
<p>Please contact SonarDesk Support or Paddle about a disputed payment before initiating a chargeback
where practical. This gives us an opportunity to investigate duplicate, fraudulent or incorrect charges
promptly. This does not restrict any right you have to dispute a payment with your payment provider.</p>
</section>
<section>
<h2>9. How refunds affect your licence</h2>
<p>A full refund or reversal of a subscription payment may cause the associated subscription and
SonarDesk licence to be cancelled or revoked. Where only part of a payment is refunded, any effect on
the subscription will depend on the reason for the adjustment and the resulting Paddle subscription
status.</p>
</section>
<section>
<h2>10. Contact</h2>
<p>For refund or billing enquiries, contact
<a href="mailto:{{ $legal['support_email'] }}">{{ $legal['support_email'] }}</a> or use
<a href="{{ route('support') }}">SonarDesk Support</a>. Include your purchase email address and relevant
transaction details, but never send complete card details.</p>
<p>See also our <a href="{{ route('terms') }}">Terms of Service</a>.</p>
</section>
</article>
@endsection
+139 -12
View File
@@ -3,17 +3,144 @@
@section('content')
@php($legal = config('sonardesk.legal'))
<article class="legal-page">
<header class="legal-head"><span class="eyebrow">Legal</span><h1>Terms of Service</h1><p>Last updated 9 September 2026</p></header>
<div class="legal-intro">These terms govern your use of the SonarDesk website, licence portal, subscription service and macOS application.</div>
<section><h2>1. Licence plans</h2><p>Personal permits the number of active Mac installations shown for that plan at purchase. Professional permits the number shown for Professional. A licence is for your use and may not be shared, resold or used to bypass activation limits.</p></section>
<section><h2>2. Trials and subscriptions</h2><p>Where offered, the trial length and renewal terms are shown at checkout. Subscription billing, cancellation, tax and payment processing are handled through Paddle. Your subscription continues until cancelled in accordance with the checkout terms. Changes between Personal and Professional may be prorated by Paddle.</p></section>
<section><h2>3. Activation</h2><p>SonarDesk uses a licence service to activate permitted Macs and periodically confirm that an activation remains valid. A reasonable offline grace period may be provided, but continued use after a subscription or activation is revoked is not authorised.</p></section>
<section><h2>4. Your SonarQube connections</h2><p>You are responsible for the SonarQube servers, credentials, tokens and projects you connect to SonarDesk. SonarDesk displays information made available by your SonarQube account and does not grant additional server permissions.</p></section>
<section><h2>5. Acceptable use</h2><p>You must not attempt to defeat licensing controls, interfere with the service, probe accounts you do not own, distribute malware, or use SonarDesk in violation of applicable law or third-party rights.</p></section>
<section><h2>6. Updates and availability</h2><p>We may update the application, website and licensing service to improve security, compatibility or functionality. We aim to provide a reliable service but do not guarantee uninterrupted availability.</p></section>
<section><h2>7. Consumer rights</h2><p>Nothing in these terms excludes rights that cannot lawfully be excluded, including applicable UK consumer rights. Where mandatory law gives you stronger protections, that law prevails.</p></section>
<section><h2>8. Liability</h2><p>To the extent permitted by law, we are not responsible for indirect or consequential loss arising from incorrect sync configuration, deleted destination data, unavailable third-party systems or failures outside our reasonable control. This does not limit liability that cannot lawfully be limited.</p></section>
<section><h2>9. Privacy</h2><p>Our processing of personal data is described in the <a href="{{ route('privacy') }}">Privacy Policy</a> and <a href="{{ route('cookies') }}">Cookie Policy</a>.</p></section>
<section><h2>10. Contact</h2><p>These terms are provided by {{ $legal['controller_name'] }} in {{ $legal['country'] }}. Questions can be submitted through <a href="{{ route('support') }}">SonarDesk Support</a>.</p></section>
<header class="legal-head">
<span class="eyebrow">Legal</span>
<h1>Terms of Service</h1>
<p>Last updated 1 October 2026</p>
</header>
<div class="legal-intro">
These Terms of Service govern your use of the SonarDesk website, licence portal,
subscription service and macOS application. By purchasing, activating or using SonarDesk,
you agree to these terms. Your statutory rights are not affected.
</div>
<section>
<h2>1. SonarDesk licences</h2>
<p>SonarDesk is licensed, not sold. A Personal subscription permits the number of active Mac
installations stated for that plan at the time of purchase. A Professional subscription permits
the number stated for the Professional plan. Licences are for the subscriber's use and must not
be shared, resold, sublicensed or used to circumvent activation limits.</p>
</section>
<section>
<h2>2. Free trials</h2>
<p>Where a free trial is offered, its duration and the price that will apply afterwards are shown
before checkout. Unless you cancel before the trial ends, the subscription will automatically
convert to the selected paid plan and Paddle will charge the payment method provided at checkout.</p>
</section>
<section>
<h2>3. Subscriptions, billing and renewal</h2>
<p>SonarDesk subscriptions renew automatically at the billing interval selected at checkout until
cancelled. The renewal price, billing period, applicable taxes and other checkout information are
presented before you complete the transaction. Payment processing, tax collection and subscription
billing are handled by Paddle, our Merchant of Record.</p>
<p>Changes between Personal and Professional plans may result in a prorated charge or credit as
calculated by Paddle and displayed as part of the subscription change.</p>
</section>
<section>
<h2>4. Cancellation</h2>
<p>You may cancel a subscription through the SonarDesk licence portal or the subscription-management
facilities made available through Paddle. Cancellation prevents future renewals. Unless the
cancellation flow expressly states otherwise, access normally continues until the end of the
already-paid billing period.</p>
<p>Cancellation and refund requests are separate. Cancelling a subscription does not automatically
refund charges already paid. See our <a href="{{ route('refund') }}">Refund Policy</a>.</p>
</section>
<section>
<h2>5. Activation and licence checks</h2>
<p>SonarDesk uses a licence service to activate permitted Macs and periodically confirm that an
activation remains valid. A reasonable offline grace period may be provided. Continued use after a
licence or subscription has expired or been revoked is not authorised.</p>
</section>
<section>
<h2>6. Your SonarQube connections</h2>
<p>You are responsible for the SonarQube servers, credentials, tokens and projects you connect to
SonarDesk. SonarDesk accesses information made available by the permissions of the credentials you
provide. It does not grant additional permissions on your SonarQube server.</p>
<p>You are responsible for ensuring that you are authorised to access and process the projects and
information you connect to SonarDesk.</p>
</section>
<section>
<h2>7. Acceptable use</h2>
<p>You must not attempt to defeat or circumvent licensing controls, interfere with the SonarDesk
service, gain unauthorised access to accounts or systems, distribute malware through the service,
reverse engineer the service except where applicable law expressly permits it, or use SonarDesk in
violation of applicable law or third-party rights.</p>
</section>
<section>
<h2>8. Software updates and service availability</h2>
<p>We may update SonarDesk, the website and licensing service to improve security, compatibility,
reliability or functionality. We may also discontinue obsolete versions where reasonably necessary.
We aim to provide a reliable service but do not guarantee uninterrupted or error-free availability.</p>
</section>
<section>
<h2>9. Third-party services</h2>
<p>SonarDesk works with third-party services including SonarQube and Paddle. Those services are
operated independently and may have their own terms and policies. We are not responsible for changes,
outages or restrictions imposed by third-party services outside our reasonable control.</p>
</section>
<section>
<h2>10. Consumer rights</h2>
<p>Nothing in these terms excludes or restricts rights that cannot lawfully be excluded or restricted.
If you are a consumer, this includes applicable rights relating to digital content and services under
UK consumer law. Where mandatory law gives you stronger protection than these terms, the mandatory
protection applies.</p>
<p>Information about refunds, statutory remedies and withdrawal rights is set out in our
<a href="{{ route('refund') }}">Refund Policy</a>.</p>
</section>
<section>
<h2>11. Liability</h2>
<p>Nothing in these terms excludes or limits liability where doing so would be unlawful, including
liability for death or personal injury caused by negligence, fraud or fraudulent misrepresentation.</p>
<p>Subject to those protections, we are not responsible for indirect or consequential losses, loss
caused by unauthorised or incorrect configuration, unavailable third-party systems, or events outside
our reasonable control. If you use SonarDesk for business purposes, you are responsible for maintaining
appropriate backups and operational safeguards.</p>
</section>
<section>
<h2>12. Suspension and termination</h2>
<p>We may suspend or terminate access where reasonably necessary to address fraud, security threats,
material breach of these terms, chargebacks, or an invalid or expired subscription. Where appropriate,
we will give reasonable notice and an opportunity to resolve the issue.</p>
</section>
<section>
<h2>13. Changes to these terms</h2>
<p>We may update these terms when the service, law or our commercial arrangements change. The current
version will be published on this page with its revision date. Material changes affecting an existing
subscription will be communicated where required by law.</p>
</section>
<section>
<h2>14. Privacy</h2>
<p>Our processing of personal data is described in the
<a href="{{ route('privacy') }}">Privacy Policy</a> and
<a href="{{ route('cookies') }}">Cookie Policy</a>.</p>
</section>
<section>
<h2>15. Governing law</h2>
<p>These terms are governed by the laws applicable in {{ $legal['country'] }}, subject to any mandatory
consumer protections and rights you have under the law of the country in which you live.</p>
</section>
<section>
<h2>16. Contact</h2>
<p>These terms are provided by <strong>{{ $legal['controller_name'] }}</strong> in
{{ $legal['country'] }}. For licensing, billing or contractual questions, contact
<a href="mailto:{{ $legal['support_email'] }}">{{ $legal['support_email'] }}</a> or use
<a href="{{ route('support') }}">SonarDesk Support</a>.</p>
</section>
</article>
@endsection
+1
View File
@@ -27,6 +27,7 @@ Route::get('/support', [SupportController::class, 'create'])->name('support');
Route::post('/support', [SupportController::class, 'store'])->middleware('throttle:5,10')->name('support.store');
Route::view('/privacy', 'legal.privacy')->name('privacy');
Route::view('/terms', 'legal.terms')->name('terms');
Route::view('/refund-policy', 'legal.refund')->name('refund');
Route::view('/cookies', 'legal.cookies')->name('cookies');
Route::middleware('guest')->group(function () {
Route::get('/login', [AuthenticatedSessionController::class, 'create'])->name('login');