patx/vegy

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1" />
  <title>Terms of Use &amp; Privacy Policy — Vegy</title>
  <meta name="description" content="Vegy's Terms of Use and Privacy Policy for our wholesale ordering platform, including instance roles, fees and billing, QuickBooks integration, and how we handle data." />
  <link rel="canonical" href="https://vegy.app/legal.html" />
  <meta name="theme-color" content="#16a34a" />

  <link rel="icon" href="favicon.svg" type="image/svg+xml" />

  <link rel="preconnect" href="https://fonts.googleapis.com" />
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
  <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=Inter:wght@400;500;600;700&display=swap" />
  <link rel="stylesheet" href="styles.css" />
</head>

<body>

  <header class="masthead" id="masthead">
    <div class="wrap">
      <a class="wordmark" href="/">
        <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
          <path d="M11 20A7 7 0 0 1 9.8 6.1C15.5 5 17 4.48 19 2c1 2 2 4.18 2 8 0 5.5-4.78 10-10 10Z" />
          <path d="M2 21c0-3 1.85-5.36 5.08-6C9.5 14.52 12 13 13 12" />
        </svg>
        Vegy
      </a>

      <nav class="nav-links" aria-label="Primary">
        <a href="/#how">How it works</a>
        <a href="/#features">Features</a>
        <a href="/#pricing">Pricing</a>
        <a href="/#faq">FAQ</a>
      </nav>

      <a class="btn btn-primary btn-sm" href="https://cal.com/afterdarklabs/meet" target="_blank" rel="noopener">
        Book a demo
      </a>
      <button class="nav-toggle" id="navToggle" type="button"
              aria-expanded="false" aria-controls="mobileNav" aria-label="Open menu">
        <span></span><span></span><span></span>
      </button>
    </div>
    <nav class="mobile-nav" id="mobileNav" aria-label="Mobile">
      <a class="m-link" href="/#how">How it works</a>
      <a class="m-link" href="/#features">Features</a>
      <a class="m-link" href="/#pricing">Pricing</a>
      <a class="m-link" href="/#faq">FAQ</a>
      <a class="btn btn-primary" href="https://cal.com/afterdarklabs/meet" target="_blank" rel="noopener">Book a demo</a>
    </nav>
  </header>

  <main class="section">
    <div class="wrap">
      <div class="section-head">
        <span class="eyebrow">Legal</span>
        <h1 class="h-lg" style="margin-block:1.1rem .9rem">Terms of Use &amp; Privacy Policy</h1>
        <p class="legal-updated">Last updated: September 23, 2025</p>
      </div>

      <div class="legal-layout">
        <nav class="legal-toc" aria-label="Table of contents">
          <h4>Terms of Use</h4>
            <a href="#terms">Terms of Use</a>
            <a href="#roles">1. Platform &amp; Instance Roles</a>
            <a href="#use">2. Use of the Platform</a>
            <a href="#billing">3. Fees &amp; Billing</a>
            <a href="#qbo">4. QuickBooks Integration</a>
            <a href="#availability">5. Availability &amp; Changes</a>
            <a href="#liability">6. Liability</a>
            <a href="#indemn">7. Indemnification</a>
            <a href="#law">8. Governing Law</a>

          <h4>Privacy Policy</h4>
            <a href="#privacy">Privacy Policy</a>
            <a href="#scope">1. Scope &amp; Roles</a>
            <a href="#collect">2. Information We Collect</a>
            <a href="#useinfo">3. How We Use Information</a>
            <a href="#security">4. Security</a>
            <a href="#retention">5. Retention</a>
            <a href="#rights">6. Rights</a>
            <a href="#sharing">7. Sharing &amp; Vendors</a>
            <a href="#cookies">8. Cookies</a>
            <a href="#intl">9. International Transfers</a>
            <a href="#changes">10. Changes</a>
            <a href="#contact">11. Contact</a>
        </nav>

        <article class="legal-body">
        <h2 id="terms">Vegy Terms of Use</h2>
        <p>
        Vegy is owned and operated by After Dark Labs, a sole proprietorship (“Vegy”, “we”, “us”). Vegy provides a multi-tenant ordering platform (the “Platform”). Each wholesaler operates its own instance (an “Instance”) on a subdomain (e.g.,
        <code>&lt;wholesaler&gt;.vegy.app</code>) and invites buyers (“Instance Users”). By accessing an Instance or the Platform, you agree to these Terms.
        </p>

        <h3 id="roles">1. Platform & Instance Roles</h3>
        <ul>
        <li><strong>Vegy:</strong> provides hosting, DNS/security, storage, email, SMS gateway, and AI parsing.</li>
        <li><strong>Instance Owner:</strong> controls catalog, pricing, delivery, and QuickBooks integration.</li>
        <li><strong>Instance Users:</strong> order from the Instance Owner. The contract of sale is between Instance Owner and Instance User.</li>
        </ul>
        <p><em>Vegy is a software provider; Vegy is not a party to any sale between an Instance Owner and an Instance User.</em></p>

        <h3 id="use">2. Use of the Platform</h3>
        <ul>
        <li>You must be 18+ and authorized to bind your business.</li>
        <li>Keep logins secure; provide accurate information.</li>
        <li>No unlawful, abusive, or fraudulent activity.</li>
        </ul>

        <h4>2.1 Instance Owner Duties</h4>
        <ul>
        <li>Maintain accurate catalog, pricing, units, availability, and delivery details.</li>
        <li>Communicate product availability, delivery timelines, and any special handling requirements.</li>
        <li>Manage invites and access for Instance Users.</li>
        <li>Connect and maintain QuickBooks; review invoices created from orders.</li>
        <li>Comply with laws relevant to products offered (e.g., food safety, labeling, construction licensing, etc.).</li>
        </ul>

        <h4>2.2 Instance User Duties</h4>
        <ul>
        <li>Order only through your authorized Instance (web or SMS).</li>
        <li>Confirm items, quantities, and delivery details before submitting.</li>
        <li>Pay the Instance Owner according to invoice terms issued from their invoice.</li>
        </ul>

        <h4>2.3 SMS Program Terms</h4>
        <p>
        By providing a mobile number and opting in to texts when registering, you consent to receive transactional SMS from the Instance Owner and/or Vegy on their behalf. Message &amp; data rates may apply. Frequency varies. Reply <strong>STOP</strong> to cancel, <strong>HELP</strong> for help. Carriers are not liable for delayed or undelivered messages.
        Opt-in occurs via the Instance’s sign-up/phone field; consent is not a condition of purchase.
        </p>

        <h3 id="billing">3. Fees & Billing</h3>
        <p>
        Vegy may charge Instance Owners platform fees. Unless otherwise agreed, fees are invoiced by Vegy and payable per invoice terms. Non-payment may lead to suspension.
        </p>

        <h3 id="qbo">4. QuickBooks Integration</h3>
        <p>
        Instance Owners connect their QuickBooks Online company. Vegy may create or update Customers, Items, and Invoices. Vegy does not post journal entries, recognize revenue, or reconcile payments. Instance owners can connect their Quickbooks account to third party providers for inventory management, delivery tracking, connecting to other bookkeeping solutions or ERPs and more through third party tools such as Zapier, Vegy is not liable for this process.
        </p>

        <h3 id="availability">5. Availability & Changes</h3>
        <p>
        We strive for uptime but outages may occur. Features may change for security or improvement.
        </p>

        <h3 id="liability">6. Disclaimers & Limits of Liability</h3>
        <p>
        THE PLATFORM IS PROVIDED “AS IS.” VEGY IS NOT LIABLE FOR indirect or consequential damages, catalog errors, order disputes, interruptions, QuickBooks API errors, or unauthorized access. Liability is capped at fees paid to Vegy in the prior 3 months.
        </p>

        <h3 id="indemn">7. Indemnification</h3>
        <p>
        You indemnify Vegy for claims arising from your use. Instance Owners further indemnify for their Instance content, order handling, and QuickBooks postings.
        </p>

        <h3 id="law">8. Governing Law</h3>
        <p>
        Florida law governs. Venue: courts in Broward County, Florida.
        </p>

        <h2 id="privacy">Vegy Privacy Policy</h2>

        <h3 id="scope">1. Scope & Roles</h3>
        <p>
        Instance Owners are controllers for Instance data; Vegy acts as a processor. Vegy may be controller for platform-level operations.
        </p>
        <p>
        The Platform is not directed to anyone under 18, and we do not knowingly collect their data.
        </p>

        <h3 id="collect">2. Information We Collect</h3>
        <ul>
        <li>Account data: email, names, business details, phone, addresses, password hashes.</li>
        <li>Order data: items, quantities, prices, delivery info, SMS order texts.</li>
        <li>Integration data: QuickBooks tokens/realm IDs.</li>
        <li>Operational data: logs, IPs, user agents, sessions, CSRF tokens.</li>
        <li>Media: product images (Uploadcare).</li>
        <li>Support requests.</li>
        </ul>

        <h3 id="useinfo">3. How We Use Information</h3>
        <ul>
        <li>Operate Instances and authenticate users.</li>
        <li>Create/update QuickBooks or records for Instance Owners.</li>
        <li>Process SMS orders (Telnyx/OpenAI).</li>
        <li>Send transactional emails (Mailjet).</li>
        <li>Host/store data (Heroku, MongoDB, Uploadcare, Cloudflare).</li>
        <li>Support and troubleshooting.</li>
        </ul>
        <p>Vegy does not process card payments.</p>
        <p>Legal bases (if applicable): contract performance, legitimate interests (security/support), consent (SMS).</p>

        <h3 id="security">4. Security</h3>
        <p>
        We use TLS, bcrypt, scoped API keys, sessions, CSRF protections, least-privilege access, and vendor security. No method is 100% secure.
        </p>

        <h3 id="retention">5. Retention</h3>
        <p>
        We keep data while an Instance is active or as required by law. Sessions/CSRF expire per config. After deactivation, limited data retained 30–90 days for compliance/backups.
        </p>

        <h3 id="rights">6. Rights</h3>
        <p>
        You may access, correct, or delete your data. Instance Users should contact their Instance Owner; Instance Owners may contact Vegy
        (<a href="mailto:[email protected]">[email protected]</a>).
        We may verify identity before fulfilling requests.
        </p>

        <h3 id="sharing">7. Sharing & Vendors</h3>
        <p>We share data with providers (subject to their policies):</p>
        <ul>
        <li>Intuit QuickBooks Online (invoicing and item management)</li>
        <li>Telnyx (SMS)</li>
        <li>OpenAI (parsing)</li>
        <li>Heroku (hosting)</li>
        <li>MongoDB Atlas (database)</li>
        <li>Uploadcare (media)</li>
        <li>Mailjet (email)</li>
        <li>Cloudflare (security)</li>
        </ul>
        <p>We do not sell or share data for advertising.</p>

        <h3 id="cookies">8. Cookies</h3>
        <p>
        We use session cookies and CSRF tokens. Cloudflare may set cookies for security. No ad trackers.
        </p>

        <h3 id="intl">9. International Transfers</h3>
        <p>Data may be processed in the US only.</p>

        <h3 id="changes">10. Changes</h3>
        <p>
        We may update this policy. Material changes posted here and possibly emailed/SMS’d.
        </p>

        <h3 id="contact">11. Contact</h3>
        <p>
        After Dark Labs — owner and operator of Vegy<br>
        Phone: (954) 621-8027<br>
        Email:
        <a href="mailto:[email protected]">[email protected]</a><br>
        Web: <a href="https://afterdarklabs.io" target="_blank" rel="noopener">afterdarklabs.io</a>
        </p>
        </article>
      </div>
    </div>
  </main>

  <footer class="site-footer">
    <div class="wrap">
      <div class="footer-grid">
        <div>
          <a class="wordmark" href="/">
            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
          <path d="M11 20A7 7 0 0 1 9.8 6.1C15.5 5 17 4.48 19 2c1 2 2 4.18 2 8 0 5.5-4.78 10-10 10Z" />
          <path d="M2 21c0-3 1.85-5.36 5.08-6C9.5 14.52 12 13 13 12" />
        </svg>
            Vegy
          </a>
          <p class="footer-blurb">
            White-labeled wholesale ordering for produce, meat, and specialty food
            distributors.
          </p>
          <p class="footer-by">
            Built &amp; operated by
            <a href="https://afterdarklabs.io" target="_blank" rel="noopener">After Dark Labs</a>
          </p>
        </div>

        <div>
          <h4>Product</h4>
          <div class="footer-links">
            <a href="/#how">How it works</a>
            <a href="/#features">Features</a>
            <a href="/#pricing">Pricing</a>
            <a href="/#faq">FAQ</a>
          </div>
        </div>

        <div>
          <h4>Contact</h4>
          <div class="footer-links">
            <a href="support.html">Support center</a>
            <a href="mailto:[email protected]">[email protected]</a>
            <a href="tel:+19546218027">(954) 621-8027</a>
          </div>
        </div>

        <div>
          <h4>Company</h4>
          <div class="footer-links">
            <a href="https://cal.com/afterdarklabs/meet" target="_blank" rel="noopener">Book a demo</a>
            <a href="legal.html">Terms of Use</a>
            <a href="legal.html#privacy">Privacy Policy</a>
          </div>
        </div>
      </div>

      <div class="footer-base">
        <span>© <span data-year></span> After Dark Labs. All rights reserved.</span>
        <span>Built for the people who load the truck at 4am.</span>
      </div>
    </div>
  </footer>

  <script>
    document.querySelectorAll('[data-year]').forEach(function (el) {
      el.textContent = new Date().getFullYear();
    });

    // Mobile menu
    (function () {
      var toggle = document.getElementById('navToggle');
      var panel = document.getElementById('mobileNav');
      if (!toggle || !panel) return;

      function setOpen(open) {
        panel.classList.toggle('is-open', open);
        toggle.setAttribute('aria-expanded', String(open));
        toggle.setAttribute('aria-label', open ? 'Close menu' : 'Open menu');
      }

      toggle.addEventListener('click', function () {
        setOpen(toggle.getAttribute('aria-expanded') !== 'true');
      });

      panel.addEventListener('click', function (e) {
        if (e.target.closest('a')) setOpen(false);
      });

      addEventListener('keydown', function (e) {
        if (e.key === 'Escape' && toggle.getAttribute('aria-expanded') === 'true') {
          setOpen(false);
          toggle.focus();
        }
      });

      // a resize back to desktop should not leave the panel stuck open
      addEventListener('resize', function () {
        if (innerWidth > 900) setOpen(false);
      });
    })();

    var masthead = document.getElementById('masthead');
    if (masthead) {
      var onScroll = function () {
        masthead.classList.toggle('is-stuck', window.scrollY > 8);
      };
      onScroll();
      addEventListener('scroll', onScroll, { passive: true });
    }
  </script>

</body>
</html>