const { SiteNav, SiteFooter, PageShell } = window.GS;

const EMAIL = 'cam@uyp.org.uk';

const Company = () => (
  <address className="legal-address">
    UYP Systems Ltd<br />
    66 Paul Street<br />
    London<br />
    England<br />
    EC2A 4NA<br />
    United Kingdom<br />
    Company number 17525285<br />
    <a className="text-link" href={'mailto:' + EMAIL}>{EMAIL}</a><br />
    <a className="text-link" href="https://www.gsolutions.org.uk/">www.gsolutions.org.uk</a>
  </address>
);

const Related = () => (
  <p>
    Related pages: <a className="text-link" href="/privacy-policy">Privacy Policy</a>,{' '}
    <a className="text-link" href="/cookie-policy">Cookie Policy</a> and{' '}
    <a className="text-link" href="/terms-of-use">Website Terms of Use</a>.
  </p>
);

const LegalLayout = ({ title, lede, children }) => (
  <PageShell>
    <SiteNav />
    <main id="content" className="legal">
      <article className="section">
        <h1 className="h1">{title}</h1>
        <p className="legal-updated">Last updated: 18 October 2026</p>
        <p className="lede">{lede}</p>
        <div className="legal-body">{children}</div>
      </article>
    </main>
    <SiteFooter />
  </PageShell>
);

const Privacy = () => (
  <LegalLayout
    title="Privacy Policy"
    lede="This policy explains how UYP Systems Ltd handles personal information in connection with this website and its own business operations."
  >
    <h2>1. Who we are</h2>
    <p>
      This website is operated by UYP Systems Ltd, a company registered in England and Wales under company number 17525285. UYP Systems is the name used for that company on this website. It is not a separate company. For its own business, UYP Systems Ltd is generally the data controller.
    </p>
    <Company />
    <p>
      That includes personal information used to answer website enquiries, correspond with prospects and clients, and keep ordinary business records. It does not mean UYP Systems Ltd is the controller of every record processed inside a system we build for a client. Section 6 explains that distinction.
    </p>
    <p>There is no separate data-protection lead published on this website. Privacy questions go to {EMAIL}.</p>

    <h2>2. Personal information we collect</h2>
    <h3>Website visitors</h3>
    <p>Depending on your browser and your cookie choice, this can include an IP address, browser and device characteristics, pages viewed, referring addresses, and the cookie preference stored in this browser.</p>
    <h3>Business enquiries</h3>
    <p>The contact form asks for a name, company name, business email, an optional telephone number, an area of interest and a description of the requirement. We also keep the correspondence that follows. The form is emailed to us. It is not added to a marketing list by the act of sending it.</p>
    <h3>Prospective business customers</h3>
    <p>We may use professional contact details that a person gives us, that are published by their organisation, or that come from a referral or a business-data source we are entitled to use. That can include a role and an employer. Public availability does not take the information outside data-protection law.</p>
    <h3>Clients</h3>
    <p>For an agreed engagement we use the contact details of the people the client authorises, together with correspondence, contract administration, invoices and support requests. Payment-card data is not collected through this website. No card checkout is offered here.</p>

    <h2>3. Where information comes from</h2>
    <p>We collect information from the person concerned, from the contact form, and from email and other business correspondence. We may also use publicly accessible company websites and business directories, professional platforms, referrals, and legitimate business-data providers.</p>
    <p>Where we obtain personal information from someone other than the individual, we provide privacy information as required by the UK GDPR, including when the individual is first contacted, unless an exception applies and we have recorded why.</p>

    <h2>4. Purposes and lawful bases</h2>
    <p>The table covers UYP Systems Ltd’s own business. A separate contract covers information we process only on a client’s instructions.</p>
    <div className="legal-table-wrap">
      <table className="legal-table">
        <thead>
          <tr><th>Purpose</th><th>Lawful basis</th></tr>
        </thead>
        <tbody>
          <tr><td>Reading and answering an enquiry, and arranging a conversation</td><td>Steps towards a contract, or legitimate interests in responding to a business request</td></tr>
          <tr><td>Providing a service that has been agreed</td><td>Contract</td></tr>
          <tr><td>Ordinary client administration and support</td><td>Contract, or legitimate interests in running the engagement</td></tr>
          <tr><td>Keeping accounting and tax records</td><td>Legal obligation</td></tr>
          <tr><td>Securing the website and diagnosing faults</td><td>Legitimate interests</td></tr>
          <tr><td>Business-to-business marketing of relevant services</td><td>Legitimate interests, after a balancing assessment. Consent where PECR requires it</td></tr>
          <tr><td>Optional website measurement, if you allow it</td><td>Consent</td></tr>
        </tbody>
      </table>
    </div>
    <p>Consent is not the basis for every business communication. The UK GDPR basis and the PECR rules on electronic mail are separate. An email to a corporate subscriber can be lawful on a legitimate-interests basis where PECR allows it. Email to a sole trader or another individual subscriber still needs the consent or soft-opt-in rule that PECR actually requires.</p>

    <h2>5. Business-to-business marketing</h2>
    <p>UYP Systems markets software, automation and IT consultancy to other businesses, including recruitment agencies. We may use professional contact details, including details published by an organisation, where that marketing is relevant and the law allows it.</p>
    <p>PECR treats a corporate subscriber differently from a sole trader, a partnership of individuals, or another individual subscriber. We do not treat every published address as if it were exempt. Anyone can object to direct marketing. The right to object to direct marketing is absolute. Email {EMAIL} with the address you want suppressed. We keep a suppression record so that address is not used again for marketing.</p>

    <h2>6. Client systems, workers and absence information</h2>
    <p>This marketing website does not collect workers’ health information, call recordings or recruitment-database contents.</p>
    <p>Separately, UYP Systems Ltd builds software for clients. A client system may, once commissioned, handle worker contact details, shift information, messages, call recordings or absence details. Health information given as the reason for an absence can be special-category data. Whether that happens depends on the system the client asks for and the information the client chooses to put through it.</p>
    <p>Where UYP Systems Ltd only follows the client’s documented instructions, the client is generally the controller and UYP Systems Ltd is the processor. That work needs a contract, including a data-processing agreement where the UK GDPR requires one. The Website Terms of Use are not that contract, and they are not a client service agreement.</p>
    <p>We do not claim that any system on this website makes automated employment decisions, or that a particular AI feature meets a legal standard, unless that has been agreed in the client’s own contract.</p>

    <h2>7. Service providers</h2>
    <p>These providers are used by this website or by the enquiry route. This is not a claim that each of them receives every category of information above.</p>
    <ul>
      <li>Vercel, Inc. hosts the website and, if you allow measurement, receives the website analytics and speed-measurement events the Vercel scripts collect.</li>
      <li>Google Ireland Ltd / Google LLC provides the typefaces and, only if you allow measurement, Google Analytics for the tag G-JR92N6C2P3.</li>
      <li>Resend delivers the contact-form email to {EMAIL}. The form is not stored as a marketing list on the website.</li>
      <li>unpkg serves the React and Babel files the pages need in order to display. That is a request for page code, not a marketing tag.</li>
    </ul>
    <p>A client project may use further suppliers named in that client’s contract. They are not implied by this page.</p>

    <h2>8. International transfers</h2>
    <p>We do not claim that all personal information stays in the United Kingdom. Vercel, Google, Resend and unpkg are organisations that can process information outside the UK. Where a transfer needs a UK GDPR transfer tool, the relevant route is a UK adequacy regulation or an appropriate safeguard such as the UK International Data Transfer Agreement or the UK Addendum to the EU standard clauses, as the provider actually uses. We have not published a separate audit of each provider’s transfer paperwork on this website.</p>

    <h2>9. How long we keep information</h2>
    <p>A fixed retention schedule has not been adopted as an internal rulebook. Information is kept while the purpose still applies, then deleted or anonymised.</p>
    <ul>
      <li>Enquiries and related correspondence: for the conversation and a reasonable period afterwards in case the same requirement returns, unless you ask us to delete them and we have no duty to keep them.</li>
      <li>Marketing contact and suppression records: while the business relationship or the objection still needs to be honoured.</li>
      <li>Client and accounting records: for the engagement and for the period company and tax law requires.</li>
      <li>Technical logs: for security and fault-finding, for a short operational period set by the host.</li>
      <li>Information inside a client system: for the period in the client contract, and then deleted or returned as that contract says.</li>
    </ul>

    <h2>10. Your rights</h2>
    <p>Under the UK GDPR you may ask for access, correction, erasure, restriction, or a portable copy where the right applies. You may object to processing based on legitimate interests. You may withdraw consent where consent is the basis, which includes optional website measurement. You may object to direct marketing at any time, and we will stop. Rights about solely automated decisions with legal or similarly significant effects apply if that kind of decision is actually made. This website does not make those decisions.</p>
    <p>Email {EMAIL} and say which right you are using. We may need enough detail to find the record and to confirm we are dealing with the right person or the right organisation.</p>

    <h2>11. Complaints</h2>
    <p>Email a privacy complaint to {EMAIL}. We will acknowledge it within 30 days, look into it, and tell you the outcome without undue delay. You can also complain to the Information Commissioner’s Office: <a className="text-link" href="https://ico.org.uk/make-a-complaint/">ico.org.uk/make-a-complaint</a>.</p>

    <h2>12. Security</h2>
    <p>We use access controls, a hosting platform, and a form route that sends enquiries to a named mailbox rather than leaving them in the browser. We do not claim an ISO certificate, a formal audit, or a named encryption product on this page. Those have not been stated as certifications of this business.</p>

    <h2>13. Cookies</h2>
    <p>Details of cookies and similar technologies, and how to change your choice, are in the <a className="text-link" href="/cookie-policy">Cookie Policy</a>.</p>

    <h2>14. Other websites</h2>
    <p>Links to the ICO and to providers leave this website. Those sites have their own notices. We are not responsible for them.</p>

    <h2>15. Changes and contact</h2>
    <p>We will post a revised policy on this page and change the date at the top. Continued use of the website after that date is subject to the posted policy. Contract terms already signed are not changed by a website update.</p>
    <Company />
    <Related />
  </LegalLayout>
);

const Cookies = () => (
  <LegalLayout
    title="Cookie Policy"
    lede="This notice describes the cookies and similar technologies used on this website, and how to accept, reject or change optional measurement."
  >
    <h2>1. What we mean</h2>
    <p>A cookie is a small file stored by your browser. Similar technologies include local storage, scripts that read or write that storage, and tags that send usage information to another service. This notice covers those as well as cookies.</p>

    <h2>2. What we found</h2>
    <p>The pages were checked for third-party scripts, analytics, hosting measurement, storage and embedded services. The items below are the ones identified. No advertising or remarketing pixel was found.</p>

    <h2>3. Categories</h2>
    <p><strong>Strictly necessary.</strong> Storage that is required to provide a service you ask for, including remembering a cookie choice.</p>
    <p><strong>Statistical measurement.</strong> Google Analytics and the Vercel measurement scripts. UK law can allow some purely statistical technologies without prior consent, but only if strict conditions are met, including a single statistical purpose and a simple way to object. We have not verified that Google Analytics, as installed, meets those conditions. It stays off until you accept it. The Vercel scripts are in the same optional category so they do not run before that choice.</p>
    <p><strong>Appearance.</strong> None identified. Typefaces are requested from Google so the pages can render. We did not identify a cookie set on this site for that request, and it is not used to remember a personal preference.</p>
    <p><strong>Marketing.</strong> None identified. Nothing in this category is treated as essential.</p>

    <h2>4. Inventory</h2>
    <p>Durations for the Google cookies are Google’s published defaults for this tag. We have not overridden them. They are set only after you allow measurement.</p>
    <div className="legal-table-wrap">
      <table className="legal-table">
        <thead>
          <tr>
            <th>Name</th><th>Provider</th><th>Purpose</th><th>Category</th><th>Duration</th><th>Party</th><th>Consent</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>gs-cookie-prefs (local storage, not a cookie)</td>
            <td>UYP Systems Ltd</td>
            <td>Stores whether optional measurement is allowed</td>
            <td>Strictly necessary</td>
            <td>Until you clear site data</td>
            <td>First party</td>
            <td>Not required</td>
          </tr>
          <tr>
            <td>_ga</td>
            <td>Google</td>
            <td>Distinguishes browsers for Google Analytics</td>
            <td>Statistical measurement</td>
            <td>2 years (Google default)</td>
            <td>First-party name, Google service</td>
            <td>Required before it is set</td>
          </tr>
          <tr>
            <td>_ga_JR92N6C2P3</td>
            <td>Google</td>
            <td>Keeps session state for this Analytics property</td>
            <td>Statistical measurement</td>
            <td>2 years (Google default)</td>
            <td>First-party name, Google service</td>
            <td>Required before it is set</td>
          </tr>
          <tr>
            <td>Vercel Web Analytics script</td>
            <td>Vercel</td>
            <td>Page-view measurement</td>
            <td>Statistical measurement</td>
            <td>No named cookie confirmed in this audit</td>
            <td>Loaded from this host, processed by Vercel</td>
            <td>Loaded only after analytics consent</td>
          </tr>
          <tr>
            <td>Vercel Speed Insights script</td>
            <td>Vercel</td>
            <td>Performance measurement</td>
            <td>Statistical measurement</td>
            <td>No named cookie confirmed in this audit</td>
            <td>Loaded from this host, processed by Vercel</td>
            <td>Loaded only after analytics consent</td>
          </tr>
        </tbody>
      </table>
    </div>

    <h2>5. Your choice</h2>
    <p>On a first visit a panel offers the same path to accept optional cookies, reject them, or customise. Rejecting leaves measurement off. You can change that later.</p>
    <p><button type="button" className="btn-secondary" onClick={() => window.GSConsent && window.GSConsent.open()}>Open cookie settings</button></p>
    <p>Withdrawal stops future measurement on later pages and deletes the Google Analytics cookies this site can remove. A measurement request that has already been sent cannot be recalled.</p>

    <h2>6. Browser controls</h2>
    <p>You can block or delete cookies in the browser. Blocking all cookies can remove the stored preference, so the choice panel will appear again. Google and Vercel describe their own controls on their sites. Those providers are separate controllers for information they determine the purposes of.</p>

    <h2>7. Contact</h2>
    <Company />
    <Related />
  </LegalLayout>
);

const Terms = () => (
  <LegalLayout
    title="Website Terms of Use"
    lede="These terms cover use of this public website. They are not the contract for a software build, a subscription or a consultancy engagement."
  >
    <h2>1. Who operates the website</h2>
    <p>This website is operated by UYP Systems Ltd. UYP Systems Ltd is a private limited company registered in England and Wales under company number 17525285. Its registered office is 66 Paul Street, London, England, EC2A 4NA, United Kingdom.</p>
    <p>UYP Systems is the name used for UYP Systems Ltd on this website. It is not a separate company. UYP Systems Ltd is the contracting party for any engagement that is later agreed.</p>

    <h2>2. Acceptance and scope</h2>
    <p>By using the website you agree to these terms. Reading a page does not create a signed services agreement, an order, or a duty to start work.</p>

    <h2>3. What the website is for</h2>
    <p>The pages describe business automation, specialist software, AI-assisted business systems, IT consultancy, and operational automation for recruitment agencies. Illustrations are examples. They are not a promise that a particular result, integration or saving will be achieved.</p>

    <h2>4. Commercial work</h2>
    <p>A project, subscription or consultancy engagement starts only when UYP Systems Ltd and the client agree terms for that work. Descriptions, diagrams and buttons on this website are not a standing offer and do not set the price, scope or outcome of that work.</p>

    <h2>5. Intellectual property</h2>
    <p>The text, layout, graphics and brand on this website are owned by UYP Systems Ltd or used with permission. You may view them for information about the business. You may not copy them for a competing site or remove notices, except where the law allows, including fair dealing and any right you already have in your own materials. Third-party marks, including the names of other software products, remain the property of their owners. Mention of a product is not a claim of partnership.</p>

    <h2>6. Acceptable use</h2>
    <p>You must not misuse the website. That includes attempting to gain unauthorised access, interfering with security, introducing malicious code, using the site for fraud, or sending automated traffic that degrades the service. Ordinary browsing and a genuine enquiry are allowed.</p>

    <h2>7. Accuracy</h2>
    <p>We may change the pages at any time. Information is general. It is not legal, technical or professional advice for your organisation, and it is not a specification.</p>

    <h2>8. Availability</h2>
    <p>We do not guarantee that the website will be uninterrupted, error-free or free of harmful code. Access may be suspended for maintenance, security or reasons outside our control.</p>

    <h2>9. Other websites</h2>
    <p>Links are provided for convenience. We do not control those sites and are not responsible for their content or privacy practices.</p>

    <h2>10. Liability</h2>
    <p>The website is made available for general information. Subject to the rest of this section, UYP Systems Ltd is not liable for loss arising only from reliance on general website content, or from the website being unavailable.</p>
    <p>Nothing in these terms excludes or limits liability for fraud, fraudulent misrepresentation, death or personal injury caused by negligence, or any other liability that the law does not allow to be excluded. These terms do not reduce rights under a separate written contract for paid work.</p>

    <h2>11. Privacy and cookies</h2>
    <p>Personal information is handled as described in the <a className="text-link" href="/privacy-policy">Privacy Policy</a>. Cookies and similar technologies are described in the <a className="text-link" href="/cookie-policy">Cookie Policy</a>.</p>

    <h2>12. Law</h2>
    <p>These terms are governed by the law of England and Wales. The courts of England and Wales have jurisdiction, except where a mandatory protection gives a person a right to use another court.</p>

    <h2>13. Changes</h2>
    <p>Updated terms will be posted on this page with a new date. They apply to use of the website after that date. They do not amend a contract already signed for paid work.</p>

    <h2>14. Contact</h2>
    <Company />
    <Related />
  </LegalLayout>
);

const pages = { privacy: Privacy, cookies: Cookies, terms: Terms };
const View = pages[document.body.dataset.page] || Privacy;
ReactDOM.createRoot(document.getElementById('root')).render(<View />);
