Files
ODOO4projects.com/privacy.html
T
webmaster bd0881f882 cache-bust local assets; narrow the language facet to scores >= 3
Part 1 — asset versioning: every local <script src> and <link rel=stylesheet> on the
tracked pages now carries ?v=<sha256-of-the-file> (10 hex), computed at BUILD time from
the file's bytes by work/build-asset-versions.py — never hand-typed, and idempotent
(re-running with no file change rewrites nothing). This is what makes an edited
focus-rule.js / photo-upload.js a new URL instead of a stale cache hit.

Part 2 — language facet: a language now counts for the Language filter only when its
0-5 self-assessment is >= LANG_FACET_MIN (3 = 'works in it'). The constant sits beside
the 15-point rule in the page script and its mirror in build-directory.py. Nothing
stored changes; the card's languages chart still prints every language above 0, the
search box is unchanged, and the facet stays an exact membership test against the
card's value. A '1' language no longer offers the person under that language.
2026-11-03 21:26:58 +00:00

211 lines
9.8 KiB
HTML

<!doctype html>
<html lang="en-US">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta
name="description"
content="Privacy Policy for ODOO4projects LLC — what data we hold, where your instance runs, and how to reach us."
/>
<title>Privacy Policy | ODOO4projects</title>
<link rel="canonical" href="https://odoo4projects.com/privacy.html" />
<meta property="og:title" content="Privacy Policy | ODOO4projects" />
<meta property="og:description" content="What data ODOO4projects holds and why." />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://odoo4projects.com/privacy.html" />
<meta name="twitter:card" content="summary_large_image" />
<link rel="icon" href="images/favicon.ico" />
<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=Inter:wght@400;500;600;700;800&family=Inter+Tight:wght@500;600;700;800&display=swap"
/>
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css"
/>
<link rel="stylesheet" href="style.css?v=3332fbba93" />
<style>
.legal-hero {
padding: 4rem 0 2.5rem;
text-align: center;
background: var(--light);
border-bottom: 1px solid var(--border);
}
.legal-hero h1 {
font-size: clamp(1.8rem, 3.2vw, 2.8rem);
color: var(--dark);
}
.legal-section {
padding: 3rem 0 4rem;
}
.legal-section .container {
max-width: 700px;
}
.legal-card {
background: #fff;
border: 1px solid var(--border);
border-radius: var(--radius-lg);
padding: 1.75rem;
margin-bottom: 1.25rem;
}
.legal-card:last-child {
margin-bottom: 0;
}
.legal-card h2 {
font-size: 1.05rem;
font-weight: 600;
color: var(--primary);
margin-bottom: 0.75rem;
padding-bottom: 0.5rem;
border-bottom: 1px solid var(--border);
}
.legal-card p,
.legal-card .address {
color: rgba(33, 37, 41, 0.7);
font-size: 0.88rem;
line-height: 1.7;
margin-bottom: 0.4rem;
}
.legal-card strong {
color: var(--dark);
}
.legal-card .contact-email {
color: var(--primary);
font-weight: 500;
}
.image-credits {
display: flex;
flex-direction: column;
gap: 0.3rem;
}
.image-credits .credit-row {
color: rgba(33, 37, 41, 0.6);
font-size: 0.82rem;
}
.image-credits .credit-row a {
color: var(--primary);
}
.trademark-notice {
background: rgba(113, 75, 103, 0.04);
border: 1px solid rgba(113, 75, 103, 0.15);
border-radius: var(--radius);
padding: 1rem 1.25rem;
}
.trademark-notice p {
font-size: 0.82rem;
margin: 0;
color: rgba(33, 37, 41, 0.6);
}
@media (max-width: 768px) {
.legal-hero { padding: 2.5rem 0 1.5rem; }
.legal-card { padding: 1.25rem; }
}
</style>
<!-- Privacy-friendly analytics by Plausible -->
<script async src="https://plausible.office.odoo4projects.com/js/pa-NhA7Rf-79VopXFQXhSS4e.js"></script>
<script>
window.plausible=window.plausible||function(){(plausible.q=plausible.q||[]).push(arguments)},plausible.init=plausible.init||function(i){plausible.o=i||{}};
plausible.init()
</script>
</head>
<body>
<main>
<div class="container">
<div class="blog-header">
<a href="index.html">&larr; Back to Home</a>
</div>
</div>
<section class="legal-hero">
<div class="container">
<h1>Privacy Policy</h1>
<p style="margin-top: 0.5rem; color: rgba(33, 37, 41, 0.6); font-size: 0.85rem;">
Last updated 2026-11-02
</p>
</div>
</section>
<section class="legal-section">
<div class="container">
<div class="legal-card">
<h2>Who we are</h2>
<p><strong>ODOO4projects LLC</strong></p>
<p class="address">
30 N Gould St, STE R, Sheridan<br />
WY 82801, USA
</p>
<p>Contact: <span class="contact-email">support@odoo4projects.com</span></p>
</div>
<div class="legal-card">
<h2>What we hold</h2>
<p><strong>Account details you give us:</strong> your name, your company name, and your email address.</p>
<p><strong>Service details:</strong> the plan you bought, the region you chose, and your instance address.</p>
<p><strong>Payment records:</strong> invoices and their payment status.</p>
<p><strong>Support messages:</strong> what you send us, and our replies.</p>
<p>Card details are entered on Stripe's checkout page. We do not receive or store your card number.</p>
</div>
<div class="legal-card">
<h2>Why we hold it</h2>
<p>To create and run your instance, to invoice you, to answer your support requests, and to email you about your account.</p>
</div>
<div class="legal-card">
<h2>Where your instance runs</h2>
<p>You choose the region when you sign up. The regions we offer are Amsterdam, Boston, Manchester, Mumbai, S&atilde;o Paulo and Sydney. Your instance and its data run in the region you chose.</p>
</div>
<div class="legal-card">
<h2>Backups</h2>
<p>How many backups we keep depends on your plan: one rotating slot on Side Hustle, four on On the Rise and Powerhouse. Slots work first-in, first-out. When the slots are full, the oldest backup is overwritten and permanently deleted. We keep no separate copy.</p>
<p>The free trial has no backups.</p>
</div>
<div class="legal-card">
<h2>The assistant on this website</h2>
<p>Our homepage carries an AI assistant that answers questions and can pass a request to a person. Do not enter confidential information into it.</p>
</div>
<div class="legal-card">
<h2>Other services our pages load</h2>
<p>Our pages load Stripe (payments), Google Fonts, Font Awesome, GSAP, and our own agent widget from our server. Like any website, these requests can see the IP address your browser connects from.</p>
</div>
<div class="legal-card">
<h2>Advertising cookies</h2>
<p>On our Black Friday page we would like to measure our advertising with Google Ads. This is optional, and it is off until you turn it on.</p>
<p>If you accept, the Google Ads tag loads and sets advertising cookies (named <strong>_gcl_au</strong> and <strong>_gcl_aw</strong>). They let Google tell us which ad or search led to a visit, so we spend our budget on the ads that work. They do not change what you pay, and we do not sell your data.</p>
<p>If you decline, the tag does not load and those cookies are not set. The page works the same either way. You can change your choice at any time with the &ldquo;Cookie settings&rdquo; link in the footer of the Black Friday page, or by clearing cookies in your browser.</p>
<p>Our privacy-friendly analytics are separate: they set no cookies and collect no personal data.</p>
</div>
<div class="legal-card">
<h2>Email</h2>
<p>We email you about your account, your invoices and your service. Marketing email carries an unsubscribe link, and unsubscribing does not stop service email about an active account.</p>
</div>
<div class="legal-card">
<h2>What we do not do</h2>
<p>We do not sell your data. We run no affiliate programme and we pay no commission to anyone who recommends us.</p>
</div>
<div class="legal-card">
<h2>Your requests</h2>
<p>Ask us for a copy of your data, a correction, or deletion at <span class="contact-email">support@odoo4projects.com</span>. If your account is active, deletion ends the service. We keep invoice records for as long as accounting rules require them.</p>
</div>
<div class="legal-card">
<h2>Changes</h2>
<p>We update this page when the facts change. The date at the top changes with it.</p>
</div>
</div>
</section>
</main>
<script defer src="/static/agent-odoo4projects/agent.js?v=c3bb0cee2b"></script>
</body>
</html>