mirror of
https://github.com/Sea-Haven-Industries/seahaven-site.git
synced 2026-09-30 03:13:10 +00:00
* chore(build): add Eleventy scaffold
Thin Eleventy build (v3.1.6, pinned) — passthrough-copies assets/,
robots.txt, sitemap.xml; outputs flat HTML to _site/. _data/site.json
holds site-wide constants; _data/images.json maps image keys to
src+width+height for the {% image %} shortcode (CLS fix). Output stays
flat HTML served from the same S3 bucket + CloudFront.
* refactor(templates): base layout, partials, shared JS, CSS extraction
- _includes/base.njk + nav/mobile-menu/footer partials reproduce the
shared chrome once (was hand-duplicated across 13 pages). Adds a
skip-link and <main> landmark (WCAG 2.4.1), aria-expanded/role=dialog
hooks on the menu, and a {% year %} shortcode replacing document.write.
- assets/js/nav.js: extracted sticky-nav + accessible mobile-menu dialog
(focus trap, Escape, focus return) + rAF-throttled hero parallax.
- assets/js/form.js: Basin AJAX submit with an accessible status region.
- assets/css/*.css: per-page inline <style> extracted into page CSS files
(home/about/services/careers/jobs/contact/social/legal/404); skip-link
+ :focus-visible added to main.css.
- index.njk: homepage converted as the reference page.
* fix(css): make hero-bg url root-relative after extraction
Inline CSS used a document-relative url('assets/...') that resolves
correctly from / but breaks once moved into /assets/css/home.css.
Rewrite to /assets/images/.
* refactor(pages): convert 12 pages to Eleventy templates
Convert about, services, careers (listing + 3 jobs), contact, social-
accountability, privacy-policy, terms-of-service, eula, and 404 from
standalone HTML to .njk against base.njk. Each page now carries only
front-matter (title/description/SEO) + its <main> content; shared head/
nav/footer/scripts come from the layout. JobPosting + LocalBusiness
JSON-LD preserved. Images use the {% image %} shortcode (width/height).
Contact gets an accessible #form-status region. form.js generalized to
wire BOTH the contact form and the .apply-form job application forms
(was contact-only), preserving each submit button's own label.
* fix(a11y): footer contrast to WCAG AA + scope services .form-group
Raise footer text colors (footer-bottom/col/brand/social/contact) and
darken --text-muted so muted text clears 4.5:1 on the dark footer and
warm-gray surfaces. Scope services' flex .form-group override to
.contact-form .form-group so it can't leak to the global rule.
* perf(seo): og-cover image, webp logos, hero preload
Add a real 1200x630 og-cover.jpg (was a 153x49 favicon) wired site-wide
via base.njk og:image/twitter:image. Convert nav/footer logos to webp
(nav 58KB->22KB); PNGs kept as passthrough so old URLs still resolve.
Preload the LCP hero image on the homepage (fetchpriority=high). All
<img> carry width/height via the image shortcode (CLS).
* ci(deploy): build-then-sync, cache headers, safe concurrency
Rename main.yml -> deploy.yaml (org convention). Build with Eleventy
(npm ci && npm run build) and sync _site/ instead of the repo root, so
only built output ships (no source/templates/node_modules). Split
Cache-Control (1-day assets, no-cache HTML) and keep /* invalidation
since filenames are not yet fingerprinted. concurrency cancel-in-progress
false so a deploy is never cut mid sync. ci.yaml validates _site/ via
ci-static build mode.
* docs: README for the Eleventy build and structure
* fix(security): wire services form, guard build, harden deploy
Fable build-review findings:
- BLOCK: services puts .contact-form on the <form> itself (contact uses a
wrapper div), so form.js selector '.contact-form form' never matched it
— the services lead form submitted natively with an empty reCAPTCHA
token. Selector now also matches form.contact-form.
- Guard the build before the --delete S3 sync: require index/contact/404
and >=40 files, so a silently-empty build can never wipe the live bucket.
- npm ci --ignore-scripts on deploy (build verified to pass) to shrink the
supply-chain window on the OIDC-credentialed runner.
- Escape quotes in the image shortcode alt text.
76 lines
4.6 KiB
Text
76 lines
4.6 KiB
Text
---
|
|
layout: base.njk
|
|
title: "Privacy Policy — Sea Haven Industries"
|
|
description: "Privacy Policy for Sea Haven Industries. Learn how we collect, use, and protect your personal information."
|
|
pageCss: legal
|
|
---
|
|
<!-- ── Page Hero ── -->
|
|
<section class="page-hero">
|
|
<div class="container">
|
|
<nav class="breadcrumb" aria-label="Breadcrumb">
|
|
<a href="/">Home</a>
|
|
<span aria-hidden="true">/</span>
|
|
<span>Privacy Policy</span>
|
|
</nav>
|
|
<h1>Privacy Policy</h1>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- ── Content ── -->
|
|
<section class="prose-section">
|
|
<div class="container">
|
|
<div class="prose">
|
|
<p><em>Last updated: April 4, 2026</em></p>
|
|
|
|
<p>Sea Haven Industries, Inc. ("we," "us," or "our") operates the website seahaven.com. This Privacy Policy describes how we collect, use, and protect your personal information when you visit our website. This page is provided for informational purposes only and does not constitute legal advice.</p>
|
|
|
|
<h3>Information We Collect</h3>
|
|
<p>We may collect the following types of information when you interact with our website:</p>
|
|
<ul>
|
|
<li><strong>Personal Information:</strong> Name, email address, phone number, mailing address, and other details you voluntarily provide through contact forms or service inquiries.</li>
|
|
<li><strong>Usage Data:</strong> Information about how you access and use our website, including your IP address, browser type, pages visited, time spent on pages, and referring URLs.</li>
|
|
<li><strong>Cookies and Tracking Technologies:</strong> Small data files stored on your device that help us improve your browsing experience.</li>
|
|
</ul>
|
|
|
|
<h3>How We Use Your Information</h3>
|
|
<p>We use the information we collect for the following purposes:</p>
|
|
<ul>
|
|
<li>To respond to your inquiries and provide requested services</li>
|
|
<li>To improve and maintain our website</li>
|
|
<li>To communicate with you about projects, services, or updates</li>
|
|
<li>To comply with legal obligations</li>
|
|
<li>To analyze website usage and trends</li>
|
|
</ul>
|
|
|
|
<h3>Information Sharing</h3>
|
|
<p>We do not sell, trade, or rent your personal information to third parties. We may share your information in the following circumstances:</p>
|
|
<ul>
|
|
<li>With trusted service providers who assist us in operating our website and conducting business, provided they agree to keep your information confidential</li>
|
|
<li>When required by law, regulation, or legal process</li>
|
|
<li>To protect the rights, property, or safety of Sea Haven Industries, our users, or others</li>
|
|
</ul>
|
|
|
|
<h3>Cookies</h3>
|
|
<p>Our website may use cookies and similar tracking technologies to enhance your experience. Cookies help us understand how visitors use our site and allow us to improve its functionality. You can control cookie settings through your browser preferences. Disabling cookies may affect certain features of the website.</p>
|
|
|
|
<h3>Data Security</h3>
|
|
<p>We implement reasonable administrative, technical, and physical safeguards to protect your personal information from unauthorized access, alteration, disclosure, or destruction. However, no method of transmission over the Internet or electronic storage is completely secure, and we cannot guarantee absolute security.</p>
|
|
|
|
<h3>Third-Party Links</h3>
|
|
<p>Our website may contain links to third-party websites. We are not responsible for the privacy practices or content of those sites. We encourage you to review the privacy policies of any third-party websites you visit.</p>
|
|
|
|
<h3>Children's Privacy</h3>
|
|
<p>Our website is not directed at children under the age of 13, and we do not knowingly collect personal information from children. If we become aware that we have collected information from a child under 13, we will take steps to delete that information promptly.</p>
|
|
|
|
<h3>Changes to This Policy</h3>
|
|
<p>We may update this Privacy Policy from time to time. Any changes will be posted on this page with an updated revision date. We encourage you to review this policy periodically to stay informed about how we protect your information.</p>
|
|
|
|
<h3>Contact Us</h3>
|
|
<p>If you have questions or concerns about this Privacy Policy, please contact us:</p>
|
|
<p>Sea Haven Industries, Inc.<br>
|
|
710 Koehler Ave, Ronkonkoma, NY 11779<br>
|
|
Email: <a href="mailto:work-orders@seahaven.com">work-orders@seahaven.com</a><br>
|
|
Phone: (631) 776-5102</p>
|
|
</div>
|
|
</div>
|
|
</section>
|