# Copyright lowRISC contributors.
# Licensed under the Apache License, Version 2.0, see LICENSE for details.
# SPDX-License-Identifier: Apache-2.0

baseURL = "https://opentitan.org/"
languageCode = "en-us"
title = "Open source silicon root of trust (RoT)"
googleAnalytics = "UA-151030466-1"
disableKinds = ["taxonomy", "taxonomyTerm", "RSS", "sitemap", "categories"]

[params]
description = "The first open source project building a transparent, high-quality reference design and integration guidelines for silicon root of trust (RoT) chips"
github_repo = "https://github.com/lowRISC/opentitan"
one_year_url = "https://security.googleblog.com/2020/12/opentitan-at-one-year-open-source.html"
announce_url = "https://security.googleblog.com/2019/11/opentitan-open-sourcing-transparent.html"
contact_email = "pilots@opentitan.org"
get_involved_email = "get-involved@opentitan.org"

partner_lowrisc = "https://www.lowrisc.org/"
partner_ethzurich = "https://ethz.ch"
partner_gd = "https://www.gi-de.com/"
partner_google = "https://opensource.google/"
partner_nuvoton = "https://www.nuvoton.com"
partner_wd = "https://www.westerndigital.com/"
partner_seagate = "https://www.seagate.com"
partner_rivos = "https://www.rivosinc.com"
partner_winbond = "https://www.winbond.com"
