metatroncubeswdev 38c03cd1ae Encrypt order data at rest; add terms of service with data processing terms
Protected customer data (Level 1): order ids are stored as keyed HMACs, order numbers
and ids for admin links as AES-256-GCM ciphertext (DATA_ENCRYPTION_KEY). New public
/terms page with processor terms; privacy policy links to it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 10:29:48 -04:00

44 lines
3.1 KiB
TypeScript

// Public terms of service with data processing terms (the merchant agreement Shopify's protected customer
// data requirements ask for): https://<app domain>/terms
import type { MetaFunction } from "react-router";
export const meta: MetaFunction = () => [{ title: "Terms of service · Offerlyst" }];
const CONTACT = "info@metatroncubesolutions.com";
export default function Terms() {
return (
<main style={{ maxWidth: 720, margin: "48px auto", padding: "0 20px", font: "16px/1.6 system-ui, sans-serif", color: "#1a1a1a" }}>
<h1>Terms of service</h1>
<p>Last updated: October 14, 2026. These terms apply when a merchant installs Offerlyst (provided by Metatroncube Software Solutions, “we”) on a Shopify store. By installing the app you agree to them. Our <a href="/privacy">privacy policy</a> forms part of these terms.</p>
<h2>The service</h2>
<p>Offerlyst lets you create bundle offers that Shopify applies as automatic discounts, and shows those offers on your storefront. Plans and prices are shown and billed through Shopify. You can uninstall at any time.</p>
<h2>Data processing terms</h2>
<p>For personal data about your customers, you are the controller and we act as your processor. We:</p>
<ul>
<li>process order data only to provide the app's features (applying bundle discounts and bundle analytics) and on your instructions given through the app;</li>
<li>collect only order ID, order number, order total and discount amounts; we do not collect customer names, emails, phone numbers or addresses;</li>
<li>do not sell or share personal data, and do not use it for advertising, profiling, automated decisions or training AI models;</li>
<li>encrypt data in transit (HTTPS) and encrypt order identifiers at rest (AES-256-GCM, keyed hashing);</li>
<li>limit access to our systems to authorised staff bound by confidentiality;</li>
<li>use our hosting provider as a sub-processor for servers and storage, and will tell you before adding others;</li>
<li>notify you without undue delay, and within 72 hours, after becoming aware of a breach affecting your data;</li>
<li>help you respond to customer requests (access, deletion) received through Shopify's privacy webhooks;</li>
<li>delete all data about your store 48 hours after you uninstall the app.</li>
</ul>
<p>You are responsible for telling your customers how their data is used in your own store's privacy notice, and for having a lawful basis for the processing.</p>
<h2>Acceptable use</h2>
<p>Don't use the app for unlawful, misleading or deceptive offers. You're responsible for the offers you create and their compliance with consumer and pricing laws where you sell.</p>
<h2>Liability</h2>
<p>The app is provided as is. To the extent allowed by law, our total liability is limited to the fees you paid for the app in the 12 months before the claim.</p>
<h2>Changes and contact</h2>
<p>We may update these terms and will notify you in the app or by email for material changes. Questions: <a href={`mailto:${CONTACT}`}>{CONTACT}</a></p>
</main>
);
}