diff --git a/index.rst b/index.rst
index 8c51b20d..7a94b76 100644
--- a/index.rst
+++ b/index.rst
@@ -170,6 +170,7 @@
    testing/index.rst
    testing/memory_usage_pprof.rst
    testing/voltha_test_automation.rst
+   testing/certification.rst
 
 .. toctree::
    :maxdepth: 1
diff --git a/testing/certification.rst b/testing/certification.rst
new file mode 100644
index 0000000..9d91b04
--- /dev/null
+++ b/testing/certification.rst
@@ -0,0 +1,101 @@
+=================================
+Product Certification with VOLTHA
+=================================
+
+VOLTHA is part fo the `continuous certification program at ONF <https://opennetworking.org/continuous-certification-program/>`_.
+You can see the currently certified products in the `ONF marketplace <https://opennetworking.org/marketplace/?_product_project=voltha>`_.
+
+The following document describes the procedure to include and certify an OLT or an ONU with VOLTHA.
+The process of getting a product certified consists of several phases:
+
+- testing and validation with VOLTHA at the vendor premises
+- showcase of successful integration with VOLTHA to the TST
+- shipment and integration of the product (OLT/ONU) at a community lab (e.g. Berlin with DT)
+- Creation of automated CI jobs in Jenkins that start nightly automation tests.
+- Test maintenance. It's the Vendors and the VOLTHA community responsibility to maintain the created tests.
+
+Finally a brief Description of the device and a point of contact need to be sent to
+`Michelle Roth @ ONF <michelle@opennetworking.org>`_
+to be showcased in the `marketplace <https://opennetworking.org/marketplace/?_product_project=voltha>`_ after successful verification.
+
+Once all these steps are completed the product will be certified for the next release of VOLTHA.
+Let's describe each phase in detail.
+
+Vendor's premises Testing
+-------------------------
+The first step is for the vendor to guarantee that the OLT or the ONU are VOLTHA compatible is complying got ONF's
+automated sanity test.
+To do so we suggest setting up a HW test pod according as described in the `physical setup guide <https://docs.voltha.org/master/overview/lab_setup.html>`_.
+
+Once the setup is running the next step is running the Sanity tests, as described in the `testing documentation <https://docs.voltha.org/master/voltha-system-tests/README.html#running-tests-on-physical-pod>`_.
+If those pass the hardware is ready to be shown to the VOLTHA TST.
+
+Showcase to VOLTHA TST
+----------------------
+Once the OLT has passed tests in the Vendor lab it's ready to be showcased to the VOLTHA Technical Steering Team.
+The request needs to be performed to the Technical TST leader or to `Timon Sloane <timon@opennetworking.org>`_ who will
+forward the request appropriately.
+During a scheduled TST meeting (Tuesday 8 AM PST) the vendor will showcase the OLT/ONU to the TST by starting from a
+fresh VOLTHA instance, connecting the OLT and then performing the Sanity test.
+With the test passing the TST will give approval for shipment of the device (ONU/OLT) to an ONF community lab.
+
+ONF's community lab integration
+-------------------------------
+
+Once the TST has given approval for device integration in VOLTHA nighly tests the Vendor needs to ship the device to
+any one of the ONF community lab, including a wiring diagram (if needed) Currently there are two locations:
+
+- DT Office in Berlin, Germany. Address: Winterfeldtstraße 21, 10781 Berlin, Germany. Point of contact `Bjoern Nagel @ DT <NagelB@telekom.de>`_
+- Radisys Laboratory in Hilssboro, Oregon
+
+Once the OLT arrives the technicians will rack it and wire it according to the diagram shared.
+For an OLT the NNI connection will be provided to the AGG switch and all the management will also be connected with
+management IP assigned according to the network of the pod.
+For an ONU it will be connected to one of the existing OLTs in the pod, according to space,
+technology and topology requirements.
+Once all the racking and wiring is complete the device will appear under the ONF network, accessible via VPN.
+
+Automated CI Jobs
+-----------------
+Once the device in included in one of the community pods it's the responsibility of the vendor to integrate
+it into the nightly VOLTHA tests. This process is done by submitting a series of patches to different repositories.
+The process is different for ONUs and OLTs.
+To create jenkins jobs see https://docs.voltha.org/master/testing/voltha_test_automation.html#hardware-or-physical-pod-jobs
+
+OLT
++++
+A new OLT needs a full new configuration, job and data.
+The job can be created according to the desired workflow to be tested. Information can be found in the
+`system tests information <https://docs.voltha.org/master/testing/voltha_test_automation.html#hardware-or-physical-pod-jobs>`_
+The required patches are:
+
+- ci-management. Creates the job that will run in jenkins. `Job Example <https://github.com/opencord/ci-management/blob/master/jjb/voltha-test/voltha-certification.yaml>`_
+- pod configs. Inserts information about the OLT and target ONUs data. `Data example <https://github.com/opencord/pod-configs/blob/master/deployment-configs/menlo-certification-pod-radisys-1600g-DT.yaml>`_
+  and `kubernetes example <https://github.com/opencord/pod-configs/blob/master/kubernetes-configs/menlo-certification-pod-radisys-1600g.conf>`_
+- voltha-system-tests. Adds the sadis configuration for the OLT and the ONU. `Sadis Example <https://github.com/opencord/voltha-system-tests/blob/master/tests/data/menlo-certification-pod-radisys-1600g-sadis-DT.json>`_
+
+Once these are created and merged the job will appear on jenkins and run accordingly.
+
+ONU
++++
+A new ONU it's attached to an existing OLT, so just the information for that ONU needs to be added to the proper
+OLT files.
+
+The required patches are:
+
+- pod configs. Inserts information about the ONU into an existing pod. `Info and Target example <https://github.com/opencord/pod-configs/blob/master/deployment-configs/menlo-certification-pod-radisys-1600g-DT.yaml>`_
+- voltha-system-tests. Adds the sadis configuration for the ONU. Example `Sadis ONU example <https://github.com/opencord/voltha-system-tests/blob/master/tests/data/menlo-certification-pod-radisys-1600g-sadis-DT.json>`_
+
+Job maintenance
+---------------
+
+It's the responsibility of the Vendor, the VOLTHA TST and the community at large to mantain, manage and update the job
+to make sure the OLT gets certified for each of the following VOLTHA releases.
+
+
+
+ONF Contacts
+------------
+For any further information please contact:
+`Timon Sloane <timon@opennetworking.org>`_
+`Michelle Roth <michelle@opennetworking.org>`_
