350 lines
16 KiB
HTML
350 lines
16 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
|
|
<head>
|
|
<!-- CSS -->
|
|
<link rel="stylesheet" href="https://static.janishutz.com/css/slider.css">
|
|
<link rel="stylesheet" href="/css/style.css">
|
|
|
|
<!-- SEO -->
|
|
<title>Privacy Policy | janishutz.com</title>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<meta charset="UTF-8" />
|
|
<meta http-equiv="X-UA-Compatible" content="IE=7" />
|
|
<meta name="keywords" content="privacy-policy" />
|
|
<meta name="description"
|
|
content="Learn how your data is used on janishutz.com and all other services operated by Janis Hutz" />
|
|
<meta name="og:type" content="website" />
|
|
<meta name="og:url" content="https://janishutz.com" />
|
|
<meta name="og:locale" content="en_GB" />
|
|
<meta name="theme-color" content="#152b5c">
|
|
<style>
|
|
.info {
|
|
font-weight: normal;
|
|
}
|
|
</style>
|
|
</head>
|
|
|
|
<body>
|
|
<nav><script>
|
|
// Themeing
|
|
let loadedTheme = localStorage.getItem( 'theme' ) ?? 'auto';
|
|
var theme = loadedTheme;
|
|
let loadTheme = () => {
|
|
loadedTheme = localStorage.getItem( 'theme' ) ?? 'auto';
|
|
if ( loadedTheme === 'auto' ) {
|
|
if ( window.matchMedia( '(prefers-color-scheme: dark)' ).matches ) {
|
|
theme = 'dark_mode';
|
|
} else {
|
|
theme = 'light_mode';
|
|
}
|
|
}
|
|
if ( theme === 'dark_mode' ) {
|
|
document.documentElement.classList.remove( 'light' );
|
|
document.documentElement.classList.add( 'dark' );
|
|
} else {
|
|
document.documentElement.classList.add( 'light' );
|
|
document.documentElement.classList.remove( 'dark' );
|
|
theme === 'light_mode';
|
|
}
|
|
}
|
|
loadTheme();
|
|
|
|
setTimeout( () => {
|
|
document.querySelector( 'body' ).classList.add( 'loaded' );
|
|
}, 500 );
|
|
|
|
function changeTheme () {
|
|
theme = document.getElementById( 'theme-select' ).value;
|
|
localStorage.setItem( 'theme', theme );
|
|
loadTheme();
|
|
}
|
|
</script>
|
|
|
|
<div class="nav-placeholder"></div>
|
|
|
|
<div class="nav-top-bar">
|
|
<a href="/" class="logo-wrapper">
|
|
<img src="https://static.janishutz.com/logo.jpg" alt="janishutz.com logo" class="logo">
|
|
</a>
|
|
<!-- <img src="https://static.janishutz.com/logo.jpg" alt="janishutz.com logo" class="logo"> -->
|
|
<div class="nav-toggle" onclick="openMenu( 'toggle' )">
|
|
<span class="line" id="line1"></span>
|
|
<span class="line" id="line2"></span>
|
|
<span class="line" id="line3"></span>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="nav-menu">
|
|
<div class="nav-link-wrapper">
|
|
<a class="nav-link-header" href="/projects">
|
|
<span class="material-symbols-outlined nav-icon">lightbulb</span>
|
|
<div>Projects</div>
|
|
</a>
|
|
<div class="nav-link-dropdown">
|
|
<a href="/projects">View all</a>
|
|
<a href="/projects/storagemanager">StorageManager</a>
|
|
<a href="/projects/qrscanner">QR & Barcode Insight</a>
|
|
<a href="/projects/libreevent">libreǝvent</a>
|
|
<a href="/projects/musicplayer">MusicPlayer</a>
|
|
<a href="https://conductorcalc.com" target="_blank">ConductorCalc</a>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="nav-link-wrapper">
|
|
<a class="nav-link-header" href="/services">
|
|
<span class="material-symbols-outlined nav-icon">build</span>
|
|
<div>Services</div>
|
|
</a>
|
|
<div class="nav-link-dropdown">
|
|
<a href="https://store.janishutz.com">Store</a>
|
|
<a href="https://account.janishutz.com">Account</a>
|
|
<a href="https://development.janishutz.com">Custom Websites</a>
|
|
</div>
|
|
</div>
|
|
|
|
<a href="/" class="logo-wrapper">
|
|
<img src="https://static.janishutz.com/logo.jpg" alt="janishutz.com logo" class="logo">
|
|
</a>
|
|
|
|
<div class="nav-link-wrapper">
|
|
<a class="nav-link-header" href="/about">
|
|
<span class="material-symbols-outlined nav-icon">info</span>
|
|
<div>About</div>
|
|
</a>
|
|
<div class="nav-link-dropdown">
|
|
<a href="/about">About janishutz.com</a>
|
|
<a href="/about/aboutme">About Janis Hutz</a>
|
|
<a href="https://blog.janishutz.com" target="_blank">Blog</a>
|
|
<a href="/legal">Legal</a>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="nav-link-wrapper">
|
|
<a class="nav-link-header" href="/support">
|
|
<span class="material-symbols-outlined nav-icon">support_agent</span>
|
|
<div>Support</div>
|
|
</a>
|
|
<div class="nav-link-dropdown">
|
|
<a href="https://support.janishutz.com" target="_blank">Support Hub</a>
|
|
<a href="https://support.janishutz.com/knowledgebase.php" target="_blank">Knowledgebase</a>
|
|
<a href="/support/old">Old websites</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<script>
|
|
const toggle = document.getElementsByClassName( 'nav-toggle' )[ 0 ];
|
|
const menu = document.getElementsByClassName( 'nav-menu' )[ 0 ];
|
|
const bar = document.getElementsByClassName( 'nav-top-bar' )[ 0 ];
|
|
|
|
function openMenu( action ) {
|
|
if ( action === 'toggle' ) {
|
|
if ( menu.classList.contains( 'active' ) ) {
|
|
openMenu( 'close' );
|
|
} else {
|
|
openMenu( 'open' );
|
|
}
|
|
} else if ( action === 'close' ) {
|
|
menu.classList.remove( 'active' );
|
|
toggle.classList.remove( 'active' );
|
|
document.body.classList.remove( 'no-scroll' );
|
|
} else if ( action === 'open' ) {
|
|
document.body.classList.add( 'no-scroll' );
|
|
toggle.classList.add( 'active' );
|
|
menu.classList.add( 'active' );
|
|
bar.classList.remove( 'slide-up' );
|
|
menu.classList.remove( 'slide-up' );
|
|
}
|
|
}
|
|
|
|
let oldScroll = 0;
|
|
document.addEventListener( 'scroll', () => {
|
|
if ( oldScroll < window.scrollY && window.innerHeight * 0.2 < window.scrollY ) {
|
|
bar.classList.add( 'slide-up' );
|
|
menu.classList.add( 'slide-up' );
|
|
} else if ( oldScroll > window.scrollY ) {
|
|
bar.classList.remove( 'slide-up' );
|
|
menu.classList.remove( 'slide-up' );
|
|
}
|
|
oldScroll = window.scrollY;
|
|
} );
|
|
|
|
// TODO: Hide menu on when scrolling down
|
|
</script>
|
|
</nav>
|
|
<div class="content">
|
|
<h1 class="title">Privacy Policy</h1>
|
|
|
|
<a href="/legal" class="back">← Back to legal hub</a>
|
|
|
|
<hr class="pullquote-lines">
|
|
<h3 class="quotes-text">Privacy is an inherent human right, and a requirement for maintaining the human
|
|
condition with dignity and respect</h3>
|
|
<h4 class="quotes-author">- Bruce Schneier</h4>
|
|
<hr class="pullquote-lines">
|
|
|
|
<p>Keeping your data safe is at the centre of all of my software. Therefore, I will never sell your data and all
|
|
data that is collected automatically is not tied to your identity.</p>
|
|
|
|
|
|
<ol style="width: 100%">
|
|
<b>
|
|
<li>
|
|
What data is collected on you?
|
|
<p class="info">Some of my web-based services, but none of my apps may use Privacy Preserving
|
|
Product Analytics, meaning all data on interactions with my websites and services will be
|
|
aggregated and anonymized. All raw data is deleted within a day of being collected. <br>
|
|
This data includes your anonymized IP address and your approximated country (which is estimated
|
|
based on your IP address) and what pages you clicked on. For this purpose my services use
|
|
Matomo, which is a free and open source, self-hosted analytics tool.
|
|
<br> All other data that is collected on you is data you willingly and at your own
|
|
responsibility provide me with when signing up or using any of my services. Whilst I try to have
|
|
everything run cloud-less, some features still require some data handling on my servers.
|
|
</p>
|
|
</li>
|
|
</b>
|
|
<b>
|
|
<li>
|
|
How is this data stored and processed?
|
|
<p class="info">All the data that has to be sent to the cloud for processing, like the contact form,
|
|
is sent to my servers using an HTTPS connection, hence, it is an encrypted connection. You may
|
|
have your request deleted at any time. To do so, depending on the platform, you will either find
|
|
a button on the account page, or you will have to contact me to delete the data.
|
|
<br> The data collected automatically by my analytics tool is stored for one day and never
|
|
allows me to uniquely identify you as an individual. Once the data is aggregated, the raw data
|
|
is deleted, and you will only show up as part of all users that visit my websites.
|
|
</p>
|
|
</li>
|
|
</b>
|
|
<b>
|
|
<li>
|
|
How can I have my data deleted?
|
|
<p class="info">
|
|
You can delete your account data <a href="https://account.janishutz.com/account/delete"
|
|
target="_blank">here</a>. <br>
|
|
Data from other services that are connected to this service can also be deleted from the account
|
|
page under <a href="https://account.janishutz.com/account/services" target="_blank">here</a>.
|
|
<br>
|
|
To have non-account data deleted, or in case the automated deletion fails, please <a
|
|
href="https://support.janishutz.com/index.php?a=add&catid=5">contact me</a>. I will not be
|
|
able to delete the data that is collected automatically, as I do not know who this data belongs
|
|
to and all raw data is deleted within one day of creation.
|
|
</p>
|
|
</li>
|
|
</b>
|
|
<b>
|
|
<li>
|
|
Opting out of data collection
|
|
<p class="info">All websites that feature Matomo tracking code will allow you to opt out, by
|
|
clicking the small symbol in the bottom right corner.</p>
|
|
</li>
|
|
</b>
|
|
<b>
|
|
<li>
|
|
Cookies
|
|
<p class="info">Most of my websites do not use any cookies. If they do use cookies, the specific
|
|
service will explicitly state so when you first visit the page. Cookies are small amounts of
|
|
text-based data used to identify you, which, whenever one of my services uses cookies, is
|
|
required to allow you to sign into that page. No third party cookies are used on any of my
|
|
websites</p>
|
|
</li>
|
|
</b>
|
|
<b>
|
|
<li>
|
|
Sharing data with third parties
|
|
<p class="info">No data is shared with third parties, except you give your explicit, written consent
|
|
to do so. In the future, my store may support other developer's software. If so and you purchase
|
|
a product by a third-party developer, some data will have to be shared with them.</p>
|
|
</li>
|
|
</b>
|
|
<b>
|
|
<li>
|
|
Updating this privacy Policy
|
|
<p class="info">I retain the right to, at any time, at my own will and discretion, update this
|
|
privacy policy. Valid is always the privacy policy which is available at this URL</p>
|
|
</li>
|
|
</b>
|
|
</ol>
|
|
<i>Last updated 2025-09-12</i>
|
|
</div>
|
|
<footer><div class="footer-container">
|
|
<img src="https://static.janishutz.com/logo.jpg" alt="janishutz.com logo" class="logo">
|
|
<div class="footer-text-container">
|
|
<div class="footer-category">
|
|
<h3>Projects</h3>
|
|
<a href="/projects">View all</a>
|
|
<a href="/projects/storagemanager">StorageManager</a>
|
|
<a href="/projects/qrscanner">QR & Barcode Insight</a>
|
|
<a href="/projects/libreevent">libreǝvent</a>
|
|
<a href="/projects/musicplayer">MusicPlayer</a>
|
|
<a href="/projects/biogascontrollerapp">BiogasControllerApp</a>
|
|
</div>
|
|
<div class="footer-category">
|
|
<h3>Info</h3>
|
|
<a href="/about">About janishutz.com</a>
|
|
<a href="/about/aboutme">About Janis Hutz</a>
|
|
<div class="theme-selector">
|
|
<span class="material-symbols-outlined" id="theme-switcher-icon">light_mode</span>
|
|
<select id="theme-select" onchange="changeTheme()">
|
|
<option value="auto">Auto</option>
|
|
<option value="light_mode">Light</option>
|
|
<option value="dark_mode">Dark</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="footer-category">
|
|
<h3>Support</h3>
|
|
<a href="https://support.janishutz.com">Get support</a>
|
|
<a href="https://support.janishutz.com/knowledgebase.php">Knowledgebase</a>
|
|
<a href="/support/support-status">Support status</a>
|
|
</div>
|
|
<div class="footer-category">
|
|
<h3>Legal</h3>
|
|
<a href="/legal/privacy">Privacy Policy</a>
|
|
<a href="/legal/tos">Terms of Service</a>
|
|
<a href="/legal/returns">Return policy</a>
|
|
<a href="/support/support-status">Support Status</a>
|
|
<div onclick="showAnalytics()" style="cursor: pointer;">Analytics</div>
|
|
</div>
|
|
|
|
<div class="analytics-notice" id="analytics">
|
|
<h2>Analytics</h2>
|
|
<p>This website uses privacy preserving product analytics allowing me to analyze aggregated statistics for this website. All data collected will not allow me to uniquely identify you. <br><a href="/legal/privacy">Privacy Policy</a></p>
|
|
<!-- Matomo stuff -->
|
|
<div id="matomo-opt-out">
|
|
Loading...
|
|
</div>
|
|
<script src="https://analytics.janishutz.com/index.php?module=CoreAdminHome&action=optOutJS&divId=matomo-opt-out&language=auto&fontColor=000000&fontSize=12px&fontFamily=monospace&showIntro=1"></script>
|
|
<!-- Matomo Image Tracker-->
|
|
<img referrerpolicy="no-referrer-when-downgrade" src="https://analytics.janishutz.com/matomo.php?idsite=2&rec=1" style="border:0" alt="" />
|
|
<!-- End Matomo -->
|
|
|
|
<button class="analytics-button" onclick="closeAnalytics()"><span class="material-symbols-outlined">close</span></button>
|
|
|
|
<div class="small-symbol" onclick="showAnalytics()" title="Change your analytics preferences"><span class="material-symbols-outlined">Analytics</span></div>
|
|
</div>
|
|
</div>
|
|
<script>
|
|
function closeAnalytics () {
|
|
document.getElementById( 'analytics' ).classList.remove( 'show' );
|
|
localStorage.setItem( 'analytics-dismissed', 'true' );
|
|
}
|
|
|
|
function showAnalytics () {
|
|
document.getElementById( 'analytics' ).classList.add( 'show' );
|
|
}
|
|
|
|
if ( !localStorage.getItem( 'analytics-dismissed' ) ) {
|
|
document.getElementById( 'analytics' ).classList.add( 'show' );
|
|
}
|
|
|
|
// Show which theme is loaded
|
|
document.getElementById( 'theme-select' ).value = loadedTheme;
|
|
</script>
|
|
</div>
|
|
</footer>
|
|
</body>
|
|
|
|
</html>
|