Sunday, December 22, 2024

Gammon => Ham Calculator V1.0

def ham_cooking_time(grams):
    """
    Calculates the cooking time for a ham based on its weight.

    Args:
        grams: The weight of the ham in grams.

    Returns:
        A tuple containing:
            - Boiling time in minutes.
            - Oven cooking time in minutes.
    """

    # Calculate base cooking time (20 minutes per 450 grams)
    base_time = grams / 450 * 20

    # Add 20 minutes to the base time
    total_time = base_time + 20

    # Determine boiling and oven cooking times (approximately 1/2)
    boiling_time = int(total_time * 0.5)
    oven_time = int(total_time * 0.5)

    return boiling_time, oven_time

def glazing_time(grams):
    """
    Calculates the glazing time for a ham based on its weight.

    Args:
        grams: The weight of the ham in grams.

    Returns:
        The glazing time in minutes.
    """

    # Calculate base cooking time (20 minutes per 450 grams)
    base_time = grams / 450 * 20

    # Add 20 minutes to the base time
    total_time = base_time + 20

    # Calculate glazing time (subtract 20 minutes from the halfway point)
    return int(total_time * 0.5 - 20)

# Get ham weight from user
ham_weight = float(input("Enter the weight of the ham in grams: "))

# Calculate cooking times
boiling_time, oven_time = ham_cooking_time(ham_weight)

# Calculate glazing time
glaze_time = glazing_time(ham_weight)

# Print cooking times
print(f"Boiling time: {boiling_time} minutes")
print(f"Oven cooking time at Gas Mark 4: {oven_time} minutes")
print(f"Glaze at: {glaze_time} minutes")

print("MERRY CHRISTMAS!")

Friday, August 30, 2024

Salary_Calculator_OOP v1.1

class Employee:
    """
    Base class for employees
    """
    # class attribute
    employee_no = 0

    def __init__(self, name, no_of_years):
        # instance attribute
        self.name = name
        self.no_of_years = no_of_years
        Employee.employee_no += 1
        self.employee_no = Employee.employee_no

    def details(self):
        """
        Method to return employee details as a string
        """
        return f"Name: {self.name}\nYears Worked: {self.no_of_years}\nEmployee Number: {self.employee_no}\n"


class HolidayMixin:
    """
    Mixin to calculate holiday entitlement by years of service.
    Note that a mixin has no __init__ as you cannot create an instance of a mixin
    """
    def calculate_holidays(self, no_of_years):
        """
        Method that returns holidays as an integer if given no of years of service
        """
        BASE_HOLIDAY = 20
        bonus = 0
        holidays = BASE_HOLIDAY
        if no_of_years < 3:
            bonus = holidays + 1
        elif no_of_years <= 5:
            bonus = holidays + 2
        elif no_of_years > 5:
            bonus = holidays + 3
        return f'Holidays: {bonus}'


class DirectDeveloper(HolidayMixin, Employee):
    """
    Class for direct developer employee inheriting from 
    Employee class but also inheriting from HolidayMixin
    """
    def __init__(self, name, no_of_years, skills, cloud_experience):
        self.skills = skills
        self.cloud_experience = cloud_experience
        Employee.__init__(self, name, no_of_years)

    def calculate_salary(self):
        """
        Returns salary plus bonus as an integer
        """
        base = 40000
        cloud_bonus = 0

        if self.cloud_experience:  # Check if cloud_experience is True
            cloud_bonus = 3500

        prog_lang_bonuses = {  
            'java': 0.1,
            'python': 0.20,
            'ruby': 0.00,
            'go': 0.05,
            'excel': 0.015,
            'bash': 0.20,
            'c++': 0.001,
            'c': 0.005,
            'googlecli': 0.25,
            'javascript': 0.20,
            'html': 0.15,
            'css':0.15,
            'php': 0.009,
            'laravel': 0.01,
            'django': 0.05,
            'react': 0.0,
            'nodejs': 0.01,
            'flask': 0.0,
            'powershell': 0.10,
            'terraform': 0.25,
            'ansible': 0.10, 
        }

        bonus = sum(base * prog_lang_bonuses.get(skill.lower(), 0) for skill in self.skills)

        return base + bonus + cloud_bonus

    def get_details(self):
        """
        Method to return direct developer details as a string
        Uses details() method inherited from Employee super class
        """
        return Employee.details(self) + f'Skills: {", ".join(self.skills)}\nCloud Experience: {self.cloud_experience}'


# Create an instance of DirectDeveloper
eric = DirectDeveloper("Eric Praline", 2, ["python", "javascript", "html", "django"], False)

# Prints out all the attributes of your eric instance using get_details method from DirectDeveloper
# If you use the details method from Employee then the Skills and Cloud Experience will not print
print(eric.get_details())

# The mixin method is usable for instance eric
print(eric.calculate_holidays(eric.no_of_years))

# Uses the calculate_salary method from DirectDeveloper
print(f'£{eric.calculate_salary()}\n')

# Create an instance of DirectDeveloper
justin = DirectDeveloper("JRE", 4, ["java", "python", "go", "bash", "googlecli", "javascript", "html", "css", "php", "laravel", "django", "nodejs", "powershell", "terraform", "ansible"], True)
print(justin.get_details())
print(justin.calculate_holidays(justin.no_of_years))
print(f'£{justin.calculate_salary()}')

"""
Calculate yours!
----------------
** Modify def calculate_salary
prog_lang_bonuses {} **

modify only the % for how competent you think you are from 0.0 - 0.3, create your variable and continue to follow the example below:

bob = DirectDeveloper("Bob Smith", 3, ["java", "python", "go"], False)  # ("name", "years", [comma seperate, your "skills", in prog_lang_bonuses ], true/false for cloud experience) 
print(bob.get_details())
print(bob.calculate_holidays(bob.no_of_years))
print(f'£{bob.calculate_salary()}')
"""

Monday, April 15, 2024

IPV6 -Octillion-iteration v1.3

import ipaddress
import math
#for addr in ipaddress.IPv6Network('2001:db8:1000:0000:0000:0000::0/38'):
  #('2001:db00:0000:0000:0000:0000:0000::0/56'):
#  print(addr)

# ipv6no = ((2**112)-36)
ipv6nok = ((2**90)-90)

print("total IPV6 addresses 2 **90 - 90 embedded 0's:")
print(ipv6nok)
print("total IPV6 network addresses:")
#list(ipaddress.ip_network('2001:db8:1234::/128').hosts())

"""Please feel free to comment on this post and give your opinion, I would have liked to make the network 
addresses larger, however python module breaks at /38, leaving an Octillion unique addresses to use, which is
 less than 0.0000001% of total IPv6 addresses available!

 Based on my calculations from an Apple Macbook Pro running this script on 107128 ip addresses per second,  
 print(addr) will take three hundred sixty-six trillion, four hundred twenty-nine billion, one hundred 
 forty-two million, ninety-two thousand, seven hundred fifty-six years to complete.
 
 If your interested here is the link with the calculations 
 https://docs.google.com/spreadsheets/d/1iqnL-orQhXhzl7Gr9dSHxhjr_WuwnHteLQcQA6r5p4Q/edit?usp=sharing"""

ipv6noT = 3.4 * 10**38
print("total IPV6 addresses 3.4 * 10**38:")
print("340 undecillion", ipv6noT)

Friday, December 29, 2023

Euro Millions chooser OOP V1.35

import random 
class EuroMillions:
  """Generates a random EuroMillions ticket with no duplicate numbers."""

  def __init__(self):
    self.main_draw_numbers = range(1, 51)
    self.selected_numbers = []
    self.lucky_star_numbers = range(1, 13)

  def generate_numbers(self):
    while len(self.selected_numbers) <5:
      number = random.choice(self.main_draw_numbers)
      if number not in self.selected_numbers:
        self.selected_numbers.append(number)

    self.lucky_star_numbers = random.sample(self.lucky_star_numbers, 2)

  def get_numbers(self):
    return self.selected_numbers, self.lucky_star_numbers

class Dinner:
  """Selects a random dinner option."""

  def __init__(self):
    self.choices = ["Indian","Italian","Chinese","Mexican","Thai","French","Barbeque","Roast","Something Else"]

  def select_dinner(self):
    return random.choice(self.choices)

def main():
  euromillions = EuroMillions()
  euromillions.generate_numbers()

  dinner = Dinner()
  dinner_choice = dinner.select_dinner()

  if dinner_choice == "Barbeque":
    print("Your EuroMillions numbers are: Have a BBQ Tonight!!", euromillions.get_numbers())
    print("If you are lucky enough to Win donations are accepted at the following Bitcoin Address:")
    print("3Fa1XtwRM9v8qpwTwUHguAGNWBB9ETUJn4")
    print("Good Luck!!")
  elif dinner_choice == "French":
    print("but you won't be having a BBQ tonight!","instead you will be having a", dinner_choice, "dinner")
  elif dinner_choice == "Roast":
    print("but you won't be having a BBQ tonight!","instead you will be having a", dinner_choice, "dinner")
  else:
    print("but you won't be having a BBQ tonight!","instead you will be having", dinner_choice)

if __name__ == "__main__":
  main()

5G_rate_card_calculator

def calculate_rate_card(equipment, duration, data_usage):
    # Equipment rates per hour
    #calculate the number of hours per equipment_rate, i.e 2 * RU = 10, 1 * RU = 10 
    equipment_rates = {
        "base_station": 15,
        "SGR": 10,
        "RU": 10,
        "RIC": 20,
        "Radisys_RIC": 20,
        "Zyrix_RIC": 18,
        "vcCU": 9,
        "vmwareCU": 5,
        "vcDU": 4,
        "vmwareDU": 5,

        # Add more equipment and rates as needed
    }
    
    # Additional charges per hour
    additional_charges = {
        "power_consumption": 5,
        "maintenance": 10,
        # Add more charges as needed
    }
    
    # Calculate equipment charges DNC!
    equipment_charges = sum(equipment_rates.get(equip, 0) for equip in equipment)
    
    # Calculate additional charges DNC!
    additional_charges_total = sum(additional_charges.values())

    # Calculate total rate card DNC!
    total_rate_card = equipment_charges * duration + additional_charges_total
    
    # Calculate data usage charges (assuming a rate of £0.05 per MB CC)
    data_usage_charges = data_usage * 0.01
    
    # Add data usage charges to the total rate card DNC
    total_rate_card += data_usage_charges
    
    return total_rate_card

# Example usage input Factors from ToP of Script remove component HERE to modify calculation
equipment = ["base_station", "SGR", "RU", "Radisys_RIC", "vcCU", "vcDU"]
duration = 25  # hours
data_usage = 2500  # MB
durationInDays = duration / 24
rate_card = calculate_rate_card(equipment, duration, data_usage)

print(f"This is based on the following variables: {equipment}")
print(f"Duration of hours: {duration}")
print(f"Duration in Days: {durationInDays} ")
print(f"And a data usage pattern of in mb: {data_usage}")
print(f"The rate card for the 5G lab scenario is: £{rate_card}")

Thursday, September 14, 2023

Privacy Policy

PRIVACY POLICY

Last updated September 14, 2023



This privacy notice for Verifyus ('we', 'us', or 'our'), describes how and why we might collect, store, use, and/or share ('process') your information when you use our services ('Services'), such as when you:
  • Download and use our mobile application (CryptoCurrencyProfitLoss Calc), or any other application of ours that links to this privacy notice
  • Engage with us in other related ways, including any sales, marketing, or events
Questions or concerns? Reading this privacy notice will help you understand your privacy rights and choices. If you do not agree with our policies and practices, please do not use our Services. If you still have any questions or concerns, please contact us at justin.robert.evans@verifyus.co.uk.


SUMMARY OF KEY POINTS

This summary provides key points from our privacy notice, but you can find out more details about any of these topics by clicking the link following each key point or by using our table of contents below to find the section you are looking for.

What personal information do we process? When you visit, use, or navigate our Services, we may process personal information depending on how you interact with us and the Services, the choices you make, and the products and features you use. Learn more about personal information you disclose to us.

Do we process any sensitive personal information? We do not process sensitive personal information.

Do we receive any information from third parties? We do not receive any information from third parties.

How do we process your information? We process your information to provide, improve, and administer our Services, communicate with you, for security and fraud prevention, and to comply with law. We may also process your information for other purposes with your consent. We process your information only when we have a valid legal reason to do so. Learn more about how we process your information.

In what situations and with which parties do we share personal information? We may share information in specific situations and with specific third parties. Learn more about when and with whom we share your personal information.

How do we keep your information safe? We have organisational and technical processes and procedures in place to protect your personal information. However, no electronic transmission over the internet or information storage technology can be guaranteed to be 100% secure, so we cannot promise or guarantee that hackers, cybercriminals, or other unauthorised third parties will not be able to defeat our security and improperly collect, access, steal, or modify your information. Learn more about how we keep your information safe.

What are your rights? Depending on where you are located geographically, the applicable privacy law may mean you have certain rights regarding your personal information. Learn more about your privacy rights.

How do you exercise your rights? The easiest way to exercise your rights is by submitting a data subject access request, or by contacting us. We will consider and act upon any request in accordance with applicable data protection laws.

Want to learn more about what we do with any information we collect? Review the privacy notice in full.


TABLE OF CONTENTS



1. WHAT INFORMATION DO WE COLLECT?

Personal information you disclose to us

In Short: We collect personal information that you provide to us.

We collect personal information that you voluntarily provide to us when you express an interest in obtaining information about us or our products and Services, when you participate in activities on the Services, or otherwise when you contact us.

Sensitive Information. We do not process sensitive information.

All personal information that you provide to us must be true, complete, and accurate, and you must notify us of any changes to such personal information.

Information automatically collected

In Short: Some information — such as your Internet Protocol (IP) address and/or browser and device characteristics — is collected automatically when you visit our Services.

We automatically collect certain information when you visit, use, or navigate the Services. This information does not reveal your specific identity (like your name or contact information) but may include device and usage information, such as your IP address, browser and device characteristics, operating system, language preferences, referring URLs, device name, country, location, information about how and when you use our Services, and other technical information. This information is primarily needed to maintain the security and operation of our Services, and for our internal analytics and reporting purposes.

The information we collect includes:
  • Log and Usage Data. Log and usage data is service-related, diagnostic, usage, and performance information our servers automatically collect when you access or use our Services and which we record in log files. Depending on how you interact with us, this log data may include your IP address, device information, browser type, and settings and information about your activity in the Services (such as the date/time stamps associated with your usage, pages and files viewed, searches, and other actions you take such as which features you use), device event information (such as system activity, error reports (sometimes called 'crash dumps'), and hardware settings).
  • Device Data. We collect device data such as information about your computer, phone, tablet, or other device you use to access the Services. Depending on the device used, this device data may include information such as your IP address (or proxy server), device and application identification numbers, location, browser type, hardware model, Internet service provider and/or mobile carrier, operating system, and system configuration information.
  • Location Data. We collect location data such as information about your device's location, which can be either precise or imprecise. How much information we collect depends on the type and settings of the device you use to access the Services. For example, we may use GPS and other technologies to collect geolocation data that tells us your current location (based on your IP address). You can opt out of allowing us to collect this information either by refusing access to the information or by disabling your Location setting on your device. However, if you choose to opt out, you may not be able to use certain aspects of the Services.
2. HOW DO WE PROCESS YOUR INFORMATION?

In Short: We process your information to provide, improve, and administer our Services, communicate with you, for security and fraud prevention, and to comply with law. We may also process your information for other purposes with your consent.

We process your personal information for a variety of reasons, depending on how you interact with our Services, including:

  • To save or protect an individual's vital interest. We may process your information when necessary to save or protect an individual’s vital interest, such as to prevent harm.

3. WHAT LEGAL BASES DO WE RELY ON TO PROCESS YOUR INFORMATION?

In Short: We only process your personal information when we believe it is necessary and we have a valid legal reason (i.e. legal basis) to do so under applicable law, like with your consent, to comply with laws, to provide you with services to enter into or fulfil our contractual obligations, to protect your rights, or to fulfil our legitimate business interests.

If you are located in the EU or UK, this section applies to you.

The General Data Protection Regulation (GDPR) and UK GDPR require us to explain the valid legal bases we rely on in order to process your personal information. As such, we may rely on the following legal bases to process your personal information:
  • Consent. We may process your information if you have given us permission (i.e. consent) to use your personal information for a specific purpose. You can withdraw your consent at any time. Learn more about withdrawing your consent.
  • Legal Obligations. We may process your information where we believe it is necessary for compliance with our legal obligations, such as to cooperate with a law enforcement body or regulatory agency, exercise or defend our legal rights, or disclose your information as evidence in litigation in which we are involved.
  • Vital Interests. We may process your information where we believe it is necessary to protect your vital interests or the vital interests of a third party, such as situations involving potential threats to the safety of any person.

If you are located in Canada, this section applies to you.

We may process your information if you have given us specific permission (i.e. express consent) to use your personal information for a specific purpose, or in situations where your permission can be inferred (i.e. implied consent). You can withdraw your consent at any time.

In some exceptional cases, we may be legally permitted under applicable law to process your information without your consent, including, for example:
  • If collection is clearly in the interests of an individual and consent cannot be obtained in a timely way
  • For investigations and fraud detection and prevention
  • For business transactions provided certain conditions are met
  • If it is contained in a witness statement and the collection is necessary to assess, process, or settle an insurance claim
  • For identifying injured, ill, or deceased persons and communicating with next of kin
  • If we have reasonable grounds to believe an individual has been, is, or may be victim of financial abuse
  • If it is reasonable to expect collection and use with consent would compromise the availability or the accuracy of the information and the collection is reasonable for purposes related to investigating a breach of an agreement or a contravention of the laws of Canada or a province
  • If disclosure is required to comply with a subpoena, warrant, court order, or rules of the court relating to the production of records
  • If it was produced by an individual in the course of their employment, business, or profession and the collection is consistent with the purposes for which the information was produced
  • If the collection is solely for journalistic, artistic, or literary purposes
  • If the information is publicly available and is specified by the regulations

4. WHEN AND WITH WHOM DO WE SHARE YOUR PERSONAL INFORMATION?

In Short: We may share information in specific situations described in this section and/or with the following third parties.

We may need to share your personal information in the following situations:
  • Business Transfers. We may share or transfer your information in connection with, or during negotiations of, any merger, sale of company assets, financing, or acquisition of all or a portion of our business to another company.

5. HOW LONG DO WE KEEP YOUR INFORMATION?

In Short: We keep your information for as long as necessary to fulfil the purposes outlined in this privacy notice unless otherwise required by law.

We will only keep your personal information for as long as it is necessary for the purposes set out in this privacy notice, unless a longer retention period is required or permitted by law (such as tax, accounting, or other legal requirements).

When we have no ongoing legitimate business need to process your personal information, we will either delete or anonymise such information, or, if this is not possible (for example, because your personal information has been stored in backup archives), then we will securely store your personal information and isolate it from any further processing until deletion is possible.

6. HOW DO WE KEEP YOUR INFORMATION SAFE?

In Short: We aim to protect your personal information through a system of organisational and technical security measures.

We have implemented appropriate and reasonable technical and organisational security measures designed to protect the security of any personal information we process. However, despite our safeguards and efforts to secure your information, no electronic transmission over the Internet or information storage technology can be guaranteed to be 100% secure, so we cannot promise or guarantee that hackers, cybercriminals, or other unauthorised third parties will not be able to defeat our security and improperly collect, access, steal, or modify your information. Although we will do our best to protect your personal information, transmission of personal information to and from our Services is at your own risk. You should only access the Services within a secure environment.

7. DO WE COLLECT INFORMATION FROM MINORS?

In Short: We do not knowingly collect data from or market to children under 18 years of age.

We do not knowingly solicit data from or market to children under 18 years of age. By using the Services, you represent that you are at least 18 or that you are the parent or guardian of such a minor and consent to such minor dependent’s use of the Services. If we learn that personal information from users less than 18 years of age has been collected, we will deactivate the account and take reasonable measures to promptly delete such data from our records. If you become aware of any data we may have collected from children under age 18, please contact us at justin.robert.evans@verifyus.co.uk.

8. WHAT ARE YOUR PRIVACY RIGHTS?

In Short: In some regions, such as the European Economic Area (EEA), United Kingdom (UK), Switzerland, and Canada, you have rights that allow you greater access to and control over your personal information. You may review, change, or terminate your account at any time.

In some regions (like the EEA, UK, Switzerland, and Canada), you have certain rights under applicable data protection laws. These may include the right (i) to request access and obtain a copy of your personal information, (ii) to request rectification or erasure; (iii) to restrict the processing of your personal information; (vi) if applicable, to data portability; and (vii) not to be subject to automated decision-making. In certain circumstances, you may also have the right to object to the processing of your personal information. You can make such a request by contacting us by using the contact details provided in the section 'HOW CAN YOU CONTACT US ABOUT THIS NOTICE?' below.

We will consider and act upon any request in accordance with applicable data protection laws.
 
If you are located in the EEA or UK and you believe we are unlawfully processing your personal information, you also have the right to complain to your Member State data protection authority or UK data protection authority.

If you are located in Switzerland, you may contact the Federal Data Protection and Information Commissioner.

Withdrawing your consent: If we are relying on your consent to process your personal information, which may be express and/or implied consent depending on the applicable law, you have the right to withdraw your consent at any time. You can withdraw your consent at any time by contacting us by using the contact details provided in the section 'HOW CAN YOU CONTACT US ABOUT THIS NOTICE?' below.

However, please note that this will not affect the lawfulness of the processing before its withdrawal nor, when applicable law allows, will it affect the processing of your personal information conducted in reliance on lawful processing grounds other than consent.

If you have questions or comments about your privacy rights, you may email us at justin.robert.evans@verifyus.co.uk.

9. CONTROLS FOR DO-NOT-TRACK FEATURES

Most web browsers and some mobile operating systems and mobile applications include a Do-Not-Track ('DNT') feature or setting you can activate to signal your privacy preference not to have data about your online browsing activities monitored and collected. At this stage no uniform technology standard for recognising and implementing DNT signals has been finalised. As such, we do not currently respond to DNT browser signals or any other mechanism that automatically communicates your choice not to be tracked online. If a standard for online tracking is adopted that we must follow in the future, we will inform you about that practice in a revised version of this privacy notice.

10. DO CALIFORNIA RESIDENTS HAVE SPECIFIC PRIVACY RIGHTS?

In Short: Yes, if you are a resident of California, you are granted specific rights regarding access to your personal information.

California Civil Code Section 1798.83, also known as the 'Shine The Light' law, permits our users who are California residents to request and obtain from us, once a year and free of charge, information about categories of personal information (if any) we disclosed to third parties for direct marketing purposes and the names and addresses of all third parties with which we shared personal information in the immediately preceding calendar year. If you are a California resident and would like to make such a request, please submit your request in writing to us using the contact information provided below.

If you are under 18 years of age, reside in California, and have a registered account with Services, you have the right to request removal of unwanted data that you publicly post on the Services. To request removal of such data, please contact us using the contact information provided below and include the email address associated with your account and a statement that you reside in California. We will make sure the data is not publicly displayed on the Services, but please be aware that the data may not be completely or comprehensively removed from all our systems (e.g. backups, etc.).

CCPA Privacy Notice

The California Code of Regulations defines a 'resident' as:

(1) every individual who is in the State of California for other than a temporary or transitory purpose and
(2) every individual who is domiciled in the State of California who is outside the State of California for a temporary or transitory purpose

All other individuals are defined as 'non-residents'.

If this definition of 'resident' applies to you, we must adhere to certain rights and obligations regarding your personal information.

What categories of personal information do we collect?

We have collected the following categories of personal information in the past twelve (12) months:

CategoryExamplesCollected
A. Identifiers
Contact details, such as real name, alias, postal address, telephone or mobile contact number, unique personal identifier, online identifier, Internet Protocol address, email address, and account name

NO

B. Personal information categories listed in the California Customer Records statute
Name, contact information, education, employment, employment history, and financial information

NO

C. Protected classification characteristics under California or federal law
Gender and date of birth

NO

D. Commercial information
Transaction information, purchase history, financial details, and payment information

NO

E. Biometric information
Fingerprints and voiceprints

NO

F. Internet or other similar network activity
Browsing history, search history, online behaviour, interest data, and interactions with our and other websites, applications, systems, and advertisements

NO

G. Geolocation data
Device location

NO

H. Audio, electronic, visual, thermal, olfactory, or similar information
Images and audio, video or call recordings created in connection with our business activities

NO

I. Professional or employment-related information
Business contact details in order to provide you our Services at a business level or job title, work history, and professional qualifications if you apply for a job with us

NO

J. Education Information
Student records and directory information

NO

K. Inferences drawn from other personal information
Inferences drawn from any of the collected personal information listed above to create a profile or summary about, for example, an individual’s preferences and characteristics

NO

L. Sensitive Personal Information
NO


We may also collect other personal information outside of these categories through instances where you interact with us in person, online, or by phone or mail in the context of:
  • Receiving help through our customer support channels;
  • Participation in customer surveys or contests; and
  • Facilitation in the delivery of our Services and to respond to your inquiries.
How do we use and share your personal information?

More information about our data collection and sharing practices can be found in this privacy notice.

You may contact us or by referring to the contact details at the bottom of this document.

If you are using an authorised agent to exercise your right to opt out we may deny a request if the authorised agent does not submit proof that they have been validly authorised to act on your behalf.

Will your information be shared with anyone else?

We may disclose your personal information with our service providers pursuant to a written contract between us and each service provider. Each service provider is a for-profit entity that processes the information on our behalf, following the same strict privacy protection obligations mandated by the CCPA.

We may use your personal information for our own business purposes, such as for undertaking internal research for technological development and demonstration. This is not considered to be 'selling' of your personal information.

We have not disclosed, sold, or shared any personal information to third parties for a business or commercial purpose in the preceding twelve (12) months. We will not sell or share personal information in the future belonging to website visitors, users, and other consumers.

Your rights with respect to your personal data

Right to request deletion of the data — Request to delete

You can ask for the deletion of your personal information. If you ask us to delete your personal information, we will respect your request and delete your personal information, subject to certain exceptions provided by law, such as (but not limited to) the exercise by another consumer of his or her right to free speech, our compliance requirements resulting from a legal obligation, or any processing that may be required to protect against illegal activities.

Right to be informed — Request to know

Depending on the circumstances, you have a right to know:
  • whether we collect and use your personal information;
  • the categories of personal information that we collect;
  • the purposes for which the collected personal information is used;
  • whether we sell or share personal information to third parties;
  • the categories of personal information that we sold, shared, or disclosed for a business purpose;
  • the categories of third parties to whom the personal information was sold, shared, or disclosed for a business purpose;
  • the business or commercial purpose for collecting, selling, or sharing personal information; and
  • the specific pieces of personal information we collected about you.
In accordance with applicable law, we are not obligated to provide or delete consumer information that is de-identified in response to a consumer request or to re-identify individual data to verify a consumer request.

Right to Non-Discrimination for the Exercise of a Consumer’s Privacy Rights

We will not discriminate against you if you exercise your privacy rights.

Right to Limit Use and Disclosure of Sensitive Personal Information

We do not process consumer's sensitive personal information.

Verification process

Upon receiving your request, we will need to verify your identity to determine you are the same person about whom we have the information in our system. These verification efforts require us to ask you to provide information so that we can match it with information you have previously provided us. For instance, depending on the type of request you submit, we may ask you to provide certain information so that we can match the information you provide with the information we already have on file, or we may contact you through a communication method (e.g. phone or email) that you have previously provided to us. We may also use other verification methods as the circumstances dictate.

We will only use personal information provided in your request to verify your identity or authority to make the request. To the extent possible, we will avoid requesting additional information from you for the purposes of verification. However, if we cannot verify your identity from the information already maintained by us, we may request that you provide additional information for the purposes of verifying your identity and for security or fraud-prevention purposes. We will delete such additionally provided information as soon as we finish verifying you.

Other privacy rights
  • You may object to the processing of your personal information.
  • You may request correction of your personal data if it is incorrect or no longer relevant, or ask to restrict the processing of the information.
  • You can designate an authorised agent to make a request under the CCPA on your behalf. We may deny a request from an authorised agent that does not submit proof that they have been validly authorised to act on your behalf in accordance with the CCPA.
  • You may request to opt out from future selling or sharing of your personal information to third parties. Upon receiving an opt-out request, we will act upon the request as soon as feasibly possible, but no later than fifteen (15) days from the date of the request submission.
To exercise these rights, you can contact us or by referring to the contact details at the bottom of this document. If you have a complaint about how we handle your data, we would like to hear from you.

11. DO VIRGINIA RESIDENTS HAVE SPECIFIC PRIVACY RIGHTS?

In Short: Yes, if you are a resident of Virginia, you may be granted specific rights regarding access to and use of your personal information.

Virginia CDPA Privacy Notice

Under the Virginia Consumer Data Protection Act (CDPA):

'Consumer' means a natural person who is a resident of the Commonwealth acting only in an individual or household context. It does not include a natural person acting in a commercial or employment context.

'Personal data' means any information that is linked or reasonably linkable to an identified or identifiable natural person. 'Personal data' does not include de-identified data or publicly available information.

'Sale of personal data' means the exchange of personal data for monetary consideration.

If this definition 'consumer' applies to you, we must adhere to certain rights and obligations regarding your personal data.

The information we collect, use, and disclose about you will vary depending on how you interact with us and our Services. To find out more, please visit the following links:
Your rights with respect to your personal data
  • Right to be informed whether or not we are processing your personal data
  • Right to access your personal data
  • Right to correct inaccuracies in your personal data
  • Right to request deletion of your personal data
  • Right to obtain a copy of the personal data you previously shared with us
  • Right to opt out of the processing of your personal data if it is used for targeted advertising, the sale of personal data, or profiling in furtherance of decisions that produce legal or similarly significant effects ('profiling')
We have not sold any personal data to third parties for business or commercial purposes. We will not sell personal data in the future belonging to website visitors, users, and other consumers.

Exercise your rights provided under the Virginia CDPA

More information about our data collection and sharing practices can be found in this privacy notice.

You may contact us by email at justin.robert.evans@verifyus.co.uk, by submitting a data subject access request, or by referring to the contact details at the bottom of this document.

If you are using an authorised agent to exercise your rights, we may deny a request if the authorised agent does not submit proof that they have been validly authorised to act on your behalf.

Verification process

We may request that you provide additional information reasonably necessary to verify you and your consumer's request. If you submit the request through an authorised agent, we may need to collect additional information to verify your identity before processing your request.

Upon receiving your request, we will respond without undue delay, but in all cases, within forty-five (45) days of receipt. The response period may be extended once by forty-five (45) additional days when reasonably necessary. We will inform you of any such extension within the initial 45-day response period, together with the reason for the extension.

Right to appeal

If we decline to take action regarding your request, we will inform you of our decision and reasoning behind it. If you wish to appeal our decision, please email us at justin.robert.evans@verifyus.co.uk. Within sixty (60) days of receipt of an appeal, we will inform you in writing of any action taken or not taken in response to the appeal, including a written explanation of the reasons for the decisions. If your appeal if denied, you may contact the Attorney General to submit a complaint.

12. DO WE MAKE UPDATES TO THIS NOTICE?

In Short: Yes, we will update this notice as necessary to stay compliant with relevant laws.

We may update this privacy notice from time to time. The updated version will be indicated by an updated 'Revised' date and the updated version will be effective as soon as it is accessible. If we make material changes to this privacy notice, we may notify you either by prominently posting a notice of such changes or by directly sending you a notification. We encourage you to review this privacy notice frequently to be informed of how we are protecting your information.

13. HOW CAN YOU CONTACT US ABOUT THIS NOTICE?

If you have questions or comments about this notice, you may contact our Data Protection Officer (DPO), Justin Evans, by email at  justin.robert.evans@verifyus.co.uk, by phone at 07999296831, or contact us by post at:

Verifyus
Justin Evans
267 Kelvin Gate
Bracknell, West Berkshire RG12 2TT
United Kingdom

14. HOW CAN YOU REVIEW, UPDATE, OR DELETE THE DATA WE COLLECT FROM YOU?

Based on the applicable laws of your country, you may have the right to request access to the personal information we collect from you, change that information, or delete it. To request to review, update, or delete your personal information, please fill out and submit a data subject access request.
This privacy policy was created using Termly's Privacy Policy Generator.

Gammon => Ham Calculator V1.0

def ham_cooking_time (grams): """ Calculates the cooking time for a ham based on its weight. Args: g...