Privacy Policy

Everything you need to know about our privacy policy.

CodeShack operates the codeshack.io website, which provides the SERVICE.

This page is used to inform website visitors regarding our policies with the collection, use, and disclosure of Personal Information if anyone decided to use our Service.

If you choose to use our Service, then you agree to the collection and use of information in relation with this policy. The Personal Information that we collect are used for providing and improving the Service. We will not use or share your information with anyone except as described in this Privacy Policy.

The terms used in this Privacy Policy have the same meanings as in our Terms and Conditions, which is accessible at codeshack.io, unless otherwise defined in this Privacy Policy.

Information Collection and Use

Most of CodeShack can be used without giving us anything. The tutorials, tools, snippets and reference pages need no account and we do not ask you to identify yourself to read or use them.

You give us personal information in four situations, and only those four. When you create an account, when you buy something, when you ask for a free download or sign up for the newsletter, and when you contact us.

If you create an account

We store your email address, a password that is hashed and never held in a form we can read, and a name if you give us one. The name is optional and is only used to say hello.

If you sign in with Google, X or Facebook instead, we store the identifier that provider gives us, along with the name and email address it hands over. We never see your password for those services. X does not give out email addresses at all, so accounts created that way get a reserved placeholder and we ask you for a real address in your account settings.

We record the packages you download, along with the date and the IP address that made the request. This is how we spot an account being shared or used to bulk grab files.

To keep you signed in we store a token for each device you choose to be remembered on, along with that device's IP address and browser user agent. Signing out of a device removes its record.

If you buy something

Payments are handled by Stripe. Card details go straight to Stripe and never reach our servers. We store the customer and subscription identifiers Stripe gives us, the state of your membership, and a log of the billing events Stripe sends so we can reconcile your access.

We keep the record of the transaction itself. We are required to hold those for tax and they are not deleted when an account is.

If you ask for a free download or join the newsletter

We store your email address so we can send the file and, if you asked for it, tell you when something new lands. We also record which download it was, and the IP address it was requested from, purely to stop one machine requesting hundreds of files an hour. That IP is wiped a week later; the rate limit only ever looks at the last hour.

No account is created and you are not asked for anything else. Every email we send this way has an unsubscribe link.

Security logging

We record failed and successful sign-in attempts with the email address used and the IP address they came from. This is how sign-in throttling works, and it is the only thing that stops someone guessing passwords in bulk.

How long we keep things

Nothing is kept indefinitely except the records we are legally required to hold.

  • Sign-in attempts including their IP addresses, 2 days.
  • Password reset links, 1 hour to use, deleted a day after they expire.
  • Remembered devices including their IP and user agent, until you sign that device out, or 60 days without use.
  • Download records, 90 days.
  • Billing event logs from Stripe, 12 months.
  • The IP behind a free download request, 7 days.
  • Newsletter and free download signups, until you unsubscribe.
  • Your account, until you delete it.
  • Payment records, kept as long as tax law requires.

An automatic job removes anything past these limits.

Deleting your account

You can delete your account yourself, from the settings page in your account. You do not have to email anyone or ask permission.

Nothing is erased straight away. There is a 30 day wait so that a deletion made by mistake, or by somebody who got into your account, can be undone. Sign in during those 30 days and you can stop it. After that your details, sign-in methods, remembered devices, download history and any newsletter subscription on that address are erased and cannot be recovered.

Records of payments are kept, as described above. Anything you downloaded before deleting stays licensed to you.

Marketing email

We only email you about new packages and tools if you ask us to, and the switch is off by default. You can turn it off again at any time in your account settings. We send at most a couple of these a month, and we do not sell or share your address.

Email about something you bought, a password reset, or the state of your membership is not marketing and is sent whether or not you opted in.

Advertising and CodeShack Pro

The free site is paid for by advertising, and that advertising is described further down this page.

If you have an active Pro membership the advertising and analytics scripts are not loaded at all. Not hidden, not blocked, simply never requested. That means the ad network and its partners receive nothing about your visits while your membership is active.

Log Data

We want to inform you that whenever you visit our Service, we collect information that your browser sends to us that is called Log Data. This Log Data may include information such as your computer's Internet Protocol (“IP”) address, browser version, pages of our Service that you visit, the time and date of your visit, the time spent on those pages, and other statistics.

Cookies

Cookies the site cannot work without

These are only set once you sign in. A signed out visitor gets none of them.

  • A session cookie, which is what keeps you signed in while you are using the site. It goes when you close your browser.
  • cs_remember, set only if you tick the box to stay signed in. It holds a random token, not your password, and lasts 60 days. Signing out deletes it.
  • cs_pro, a signed marker that says an active membership was found, so ordinary pages can skip the advertising scripts without a database lookup. It carries no personal information, lasts 12 hours, and is cleared as soon as a membership ends.

None of these are used for tracking or advertising and none are shared with anyone.

Analytics and advertising cookies

We use cookies to improve your experience on our website and to collect data that helps us understand how you and other users interact with our content. By using our website, you agree to the use of cookies as described in this policy.

We have enabled Google Analytics Advertising features on our website. This includes features such as Remarketing with Google Analytics, Google Display Network Impression Reporting, and Google Analytics Demographics and Interest Reporting.

We and third-party vendors, including Google, use first-party cookies (such as the Google Analytics cookie) or other first-party identifiers, and third-party cookies (such as Google advertising cookies) or other third-party identifiers together to collect information about user interactions with our website and to serve targeted advertisements to users based on their interests.

Visitors can opt-out of the Google Analytics Advertising features we use by visiting the Ads Settings page, Ad Settings for mobile apps, or any other available means (such as the NAI's consumer opt-out). Please note that opting out does not necessarily mean that you will no longer see advertisements, but rather that the advertisements you see may be less relevant to your interests.

The information collected by Google Analytics is used to analyze user behavior and to improve our website's functionality and content. We do not use this information to identify individual users or to share it with third parties.

You can choose to disable cookies in your browser settings, but please note that this may affect your ability to use certain features of our website.

By using our website, you consent to the collection and use of data as described in this policy. If you have any questions or concerns about our use of cookies or data collection practices, please contact us at support@codeshack.io.

Service Providers

The companies we pass personal information to, and why:

  • Stripe processes payments and holds the subscription. Your card details go to them directly and we never receive them.
  • Google, X and Facebook, but only if you choose to sign in with one of them. They tell us who you are; we do not send them anything about what you do on the site.
  • Our advertising partner, described in the advertising section below. Not used at all for members with an active Pro membership.

We do not sell personal information, and we do not share it with anyone beyond what is needed to run the things listed above.

Your rights

You can see and change your name, email address, password and marketing preference yourself in your account settings, and you can delete the account outright from the same page.

If you want a copy of what we hold, or want something corrected or erased that you cannot reach yourself, email support@codeshack.io from the address on the account and we will deal with it. If you are in the UK or the EU you also have the right to complain to your data protection regulator.

We may employ third-party companies and individuals due to the following reasons:

  • To facilitate our Service;
  • To provide the Service on our behalf;
  • To perform Service-related services; or
  • To assist us in analyzing how our Service is used.

We want to inform our Service users that these third parties have access to your Personal Information. The reason is to perform the tasks assigned to them on our behalf. However, they are obligated not to disclose or use the information for any other purpose.

Security

We value your trust in providing us your Personal Information, thus we are striving to use commercially acceptable means of protecting it. But remember that no method of transmission over the internet, or method of electronic storage is 100% secure and reliable, and we cannot guarantee its absolute security.

Links to Other Sites

Our Service may contain links to other sites. If you click on a third-party link, you will be directed to that site. Note that these external sites are not operated by us. We have no control over, and assume no responsibility for the content, privacy policies, or practices of any third-party sites or services.

CodeShack Browser Extension

This section covers the CodeShack tools browser extension, which is distributed through the Chrome Web Store. The extension is separate software from the website, and this section applies to it in addition to the sections above.

What the extension can access

The extension reads a web page only at the moment you invoke it, which means opening its popup, pressing its keyboard shortcut, choosing one of its right-click menu items, or using its address bar keyword. It has no standing access to the pages you visit and cannot read them in the background. This is enforced by the browser through the activeTab permission, and the extension requests no broad access to third-party websites.

When you do invoke it on a page, it reads that page in order to report on what it contains. That can include the colors and fonts in use, SVG markup, image addresses along with their dimensions and file sizes, link addresses, meta tags, headings, word and element counts, and the response headers the page was served with. If you ask it for a screenshot, it captures the page as an image.

Reading your clipboard is an optional permission. It is not requested when you install the extension, it stays off until you turn it on in the extension's settings, and you can withdraw it at any time.

What we receive

Nothing the extension reads from a page is transmitted to us. The extension contains no analytics, no telemetry and no tracking of any kind, and there is no account to create.

When you choose to send something to one of our tools, the extension opens that tool page on codeshack.io and hands the data to it inside your own browser, using the browser's own extension storage. The extension does not upload it to our servers. The data itself is never put in the web address: a short random identifier is added to the address after a # so the tool page knows to look for it, and browsers do not send anything after a # to the server, so it does not appear in our logs.

Every tool the extension is able to hand data to then processes that data in your browser, so a payload it sends does not reach our server either. Not every tool on this website works that way. Some, the online clipboard being the clearest example, exist to store what you give them and do send it to us when you use them directly, and the sections above cover those. The extension cannot hand anything to those tools.

The extension does make the following network requests:

  • It downloads the list of available tools from codeshack.io so that searching works. This is an ordinary request to our website and is covered by the Log Data section above.
  • When you pick an image or an SVG out of a page, it downloads that file from wherever the page you were on hosts it, so that the file can be handed to a tool. That request goes to that site, not to us.
  • When you open the page details panel, it requests the page you are on a second time in order to read its response headers. That request goes to that site, not to us.

What is stored, and where

Your settings, your recently opened tools and your starred favorites are stored on your own device in the browser's extension storage. Anything waiting to be handed to a tool is held in the browser's session storage only until that tool page collects it, and the browser clears it when you close it. None of this is sent to us or synced between your devices by the extension.

Removing the extension deletes everything it has stored.

Permissions and why each one is needed

  • activeTab, to read the page you are on at the moment you invoke the extension, and only that page.
  • scripting, to run the code that reads the page and the code that puts what it found into a tool.
  • storage, to keep your settings, recent tools and favorites, and to pass data to a tool page.
  • contextMenus, to add the right-click entries.
  • Access to codeshack.io, because that is where the tools are and where a handed-over payload has to arrive. The extension has no access to any other website.
  • clipboardRead, optional and off by default, to suggest a tool based on what you have copied.

The extension does not request the tabs permission and does not request access to all websites, so it cannot see what you have open or where you have been.

If you have questions about the extension specifically, contact us at support@codeshack.io.

Mediavine Programmatic Advertising (Ver 1.1)

The Website works with Mediavine to manage third-party interest-based advertising appearing on the Website. Mediavine serves content and advertisements when you visit the Website, which may use first and third-party cookies. A cookie is a small text file which is sent to your computer or mobile device (referred to in this policy as a “device”) by the web server so that a website can remember some information about your browsing activity on the Website.

First party cookies are created by the website that you are visiting. A third-party cookie is frequently used in behavioral advertising and analytics and is created by a domain other than the website you are visiting. Third-party cookies, tags, pixels, beacons and other similar technologies (collectively, “Tags”) may be placed on the Website to monitor interaction with advertising content and to target and optimize advertising. Each internet browser has functionality so that you can block both first and third-party cookies and clear your browser’s cache. The "help" feature of the menu bar on most browsers will tell you how to stop accepting new cookies, how to receive notification of new cookies, how to disable existing cookies and how to clear your browser’s cache. For more information about cookies and how to disable them, you can consult the information at All About Cookies.

Without cookies you may not be able to take full advantage of the Website content and features. Please note that rejecting cookies does not mean that you will no longer see ads when you visit our Site. In the event you opt-out, you will still see non-personalized advertisements on the Website.

The Website collects the following data using a cookie when serving personalized ads:

  • IP Address
  • Operating System type
  • Operating System version
  • Device Type
  • Language of the website
  • Web browser type
  • Email (in hashed form)

Mediavine Partners (companies listed below with whom Mediavine shares data) may also use this data to link to other end user information the partner has independently collected to deliver targeted advertisements. Mediavine Partners may also separately collect data about end users from other sources, such as advertising IDs or pixels, and link that data to data collected from Mediavine publishers in order to provide interest-based advertising across your online experience, including devices, browsers and apps. This data includes usage data, cookie information, device information, information about interactions between users and advertisements and websites, geolocation data, traffic data, and information about a visitor’s referral source to a particular website. Mediavine Partners may also create unique IDs to create audience segments, which are used to provide targeted advertising.

If you would like more information about this practice and to know your choices to opt-in or opt-out of this data collection, please visit National Advertising Initiative opt out page. You may also visit Digital Advertising Alliance website and Network Advertising Initiative website to learn more information about interest-based advertising. You may download the AppChoices app at Digital Advertising Alliance’s AppChoices app to opt out in connection with mobile apps, or use the platform controls on your mobile device to opt out.

For specific information about Mediavine Partners, the data each collects and their data collection and privacy policies, please visit Mediavine Partners.

Children's Privacy

Our Services do not address anyone under the age of 13. We do not knowingly collect personal identifiable information from children under 13. In the case we discover that a child under 13 has provided us with personal information, we immediately delete this from our servers. If you are a parent or guardian and you are aware that your child has provided us with personal information, please contact us so that we will be able to do necessary actions.

Changes to This Privacy Policy

We may update our Privacy Policy from time to time. Thus, we advise you to review this page periodically for any changes. We will notify you of any changes by posting the new Privacy Policy on this page. These changes are effective immediately, after they are posted on this page.

Contact Us

If you have any questions or suggestions about our Privacy Policy, do not hesitate to contact us at support@codeshack.io.