Enabling Whois protection

Tags: 352 views 0

How to enable Whois protection to let users hide their private WHOIS data for their domains.


A customer can order the whois protection product in Billing Customer Panel > Extra services. There, the customer can specify for which domain name the whois information should be protected and select a payment method. When selecting Order, the domain TLD is validated based on the acceptableDomainTlds attribute, and the provided domain is checked for existence.

Ordering Whois protection

Image 1: Ordering Whois protection.

When the order is processed and paid for, whois protection is provisioned. The domain name will then be marked as whois-protected in the Hosting Control Panel’s domain manager.

Whois protection in the Domain manager

Image 2: Whois protection in the Domain manager.

The service will also be listed in the Billing Customer Panel’s subscriptions page.

Whois protection displayed in Subscriptions

Image 3: Whois protection displayed in Subscriptions.

Before you begin

The Domainreg plug-in and the registrar/registry that is being used must support whois protection enabling.

Setting up Whois Protection

To set up Whois protection, the following steps need to be taken:

  1. Set up one or more products.
  2. Configure the product as an extra service.
  3. Configure if shops are used or not.
  4. Configure provisioning service.

These steps are described in detail below.

Setting up one or more products

  1. Go to Admin Panel > Products > Products > Add new product.
  2. Set the following data.
    1. Provisioning service: WhoisProtection.
    2. Product category: Extra service.
    3. Type of Billing: Fixed price and Recurring.
    4. Re-provisioning: Depends on the registrar/registry, usually unchecked.

Keep in mind

Each item can have its own price, but must have its own article number.

  1. Add the following to Other data:
    1. Name: ServiceId
    2. Value: 00000000-0000-0000-0000-000000000000
  2. Fill out the rest of the properties as you require.

Configuring the product as an extra service

In order to set up the whois protection product correctly as an extra service, the following attributes need to be configured:

  1. Configure the following to allow a product to be ordered more than once.
    1. Name: allowMultiple
    2. Value: true
  2. Specify that the product is domain based with the following attributes.
    1. Name: domainBased
    2. Value: true
  3. Define the list of packages in which this product is available.
    1. Name: packages
    2. Value: list of package article numbers separated by | character, example: HST-GLDY|HST-GLDQ|HST-GLDM)
  4. Define the list of domain items for which this product is applicable.
    1. Name: applicableToArticleNumbers
    2. Value: list of domain item article numbers separated by | character, example: DMN-COM|DMN-NET|DMN-ORG)

Keep in mind

When defining list of domain items, domain protection is available for purchase only if the customer has at least one domain from the list.

  1. Configure the system to only accept the order if the provided domain exists in the customer’s subscriptions.
    1. Name: checkIfDomainExists
    2. Value: true
  2. Define the list of TLDs for domain validation when order is submitted.
    1. Name: acceptableDomainTlds
    2. Value: list of TLDs for domain validation separated by | character, (example: com|net|org)


The list of TLDs must match applicableToArticleNumbers item TLDs.

Configuring if shops are used

Previously added product needs to be edited by going to Products > Products > [whois protection product in the list]. This opens the edit product page. On that page, in the segment Other data, attributes specified above need to be added. Example shown in picture:

Example properties for Whois protection

Image 4: Example properties for Whois protection.

Configuring if shops are not used

In this case, attributes need to be put inside of Atomia.Web.Plugin.HostingProducts.dll.config in BillingCustomerPanel’s bin folder. The usual path is: C:\Program Files (x86)\Atomia\BillingCustomerPanel\bin\Atomia.Web.Plugin.HostingProducts.dll.config

Example entry in file, that should be put in configuration / hostingProductsConfigurationSection / productsList:

<product id="someid1" articalNumber="WHOIS-PROT" productCategory="ExtraService" resourceKey="WhoisProtection">
        <customAttribute name="allowMultiple" value="true"/>
       <customAttribute name="domainBased" value="true"/>
        <customAttribute name="packages" value="HST-GLDY|HST-GLDQ|HST-GLDM" />
        <customAttribute name="applicableToArticleNumbers" value="DMN-COM|DMN-NET|DMN-ORG" />
        <customAttribute name="checkIfDomainExists" value="true" />
        <customAttribute name="acceptableDomainTlds" value="com|net|org" />

Provisioning service configuration

Configuration for WhoisProtection provisioning service is located in BillingAPI’s Web.config. It looks like this:

 <customProduct name="WhoisProtection" provisioningService="WhoisProtection" handlerClass="Atomia.Billing.Plugins.ProvisioningPlugins.AtomiaProvisioningPlugin.DomainPropertiesHandler, Atomia.Billing.Plugins.ProvisioningPlugins.AtomiaProvisioningPlugin">
        <property name="DomainPropertyNames" value="WhoisProtectionEnabled" />
        <property name="AddToDomainRegDomain0" value="true" />

Here is a full list of attributes that can be set in configuration and their purposes:

  • DomainPropertyNames: List of properties that are affected with provisioning of product. Separated by | character.
  • AddToSubscriptionN: Specifies that the Nth + 1 property from DomainPropertyNames is added/changed as a domain subscription custom attribute.
  • AddToDomainRegDomainN: Specifies that the Nth + 1 property from DomainPropertyNames is added/changed as a DomainRegDomain service property.
  • DomainPropertyValueDefaultAddN: Specifies the value of property which is set when provisioning or un-suspending Nth + 1 property from DomainPropertyNames. (If not specified for property, default is 1)
  • DomainPropertyValueDefaultRemoveN: Specifies the value of property which is set when terminating or suspending Nth + 1 property from DomainPropertyNames. (If not specified for property, default is 0)
  • SetSubscriptionToRecurring: Sets domain subscription to recurring.
  • NoSuspendUnsuspend: Disables Suspend and Unsuspend actions.

Was this helpful?