diff --git a/content/static/css/unit_meta.css b/content/static/css/unit_meta.css
index a1c000c..154952b 100644
--- a/content/static/css/unit_meta.css
+++ b/content/static/css/unit_meta.css
@@ -24,3 +24,60 @@
   margin-bottom: 0.5rem;
   text-transform: uppercase;
 }
+
+.UnitMetaDetails-header {
+  border-bottom: 0.0625rem solid var(--gray-8);
+  display: flex;
+  font-size: 0.75rem;
+  justify-content: space-between;
+  line-height: 1rem;
+  margin-bottom: 0.5rem;
+  margin-top: 1.85rem;
+  padding-bottom: 0.5rem;
+  text-transform: uppercase;
+}
+.UnitMetaDetails ul {
+  list-style: none;
+  padding-inline-start: 0;
+}
+.UnitMetaDetails li {
+  font-size: 0.875rem;
+  margin-bottom: 0.75rem;
+}
+.UnitMetaDetails a {
+  font-size: 0.8125rem;
+  text-transform: none;
+}
+.UnitMetaDetails-icon {
+  height: auto;
+  margin-right: 0.25rem;
+  position: relative;
+  width: 0.875rem;
+  top: 0.125rem;
+  z-index: -1;
+}
+.UnitMetaDetails-toggletip button {
+  background: none;
+  border: none;
+  cursor: pointer;
+  width: 1.625rem;
+}
+.UnitMetaDetails [role='status'] {
+  height: 0;
+  position: absolute;
+  width: 0;
+}
+.UnitMetaDetails-toggletipBubble {
+  background: var(--white) 80%;
+  border: 0.0625rem solid var(--gray-8);
+  border-radius: 0.25rem;
+  display: block;
+  font-size: 0.75rem;
+  left: -6rem;
+  letter-spacing: 0.01875rem;
+  line-height: 1rem;
+  padding: 0.5rem;
+  position: relative;
+  top: 1.5rem;
+  width: 12rem;
+}
diff --git a/content/static/html/helpers/_unit_meta.tmpl b/content/static/html/helpers/_unit_meta.tmpl
index 3ddc1b9..0124b25 100644
--- a/content/static/html/helpers/_unit_meta.tmpl
+++ b/content/static/html/helpers/_unit_meta.tmpl
@@ -5,6 +5,9 @@
 -->
 
 {{define "unit_meta"}}
+  {{if (.Experiments.IsActive "unit-meta-details")}}
+    {{template "unit_meta_details" .}}
+  {{end}}
   <div class="UnitMeta">
     <div class="UnitMeta-header">Links</div>
     <div class="UnitMeta-repo">Repository</div>
@@ -26,4 +29,51 @@
     <div class="UnitMeta-repo">{{.Body}}</div>
     <a href="{{.Href}}" title="{{.Href}}" target="_blank" rel="noopener">{{.Href}}</a>
   {{end}}
+{{end}}
+
+{{define "unit_meta_details_toggletip"}}
+  <span class="UnitMetaDetails-toggletip">
+    <button type="button" aria-label="more info" data-toggletip-content="{{.}}">
+      <img class="UnitMetaDetails-icon" src="/static/img/pkg-icon-help_24x24.svg" alt="" height="24" width="24">
+    </button>
+    <span role="status"></span>
+  </span>
+{{end}}
+
+{{define "unit_meta_details_check"}}
+  <img class="UnitMetaDetails-icon"
+    {{- if . -}}
+      src="/static/img/pkg-icon-checkCircleOutline_24x24.svg" alt="checked"
+    {{- else -}}
+      src="/static/img/pkg-icon-cancel_24x24.svg" alt="unchecked"
+    {{- end -}}
+  height="24" width="24">
+{{end}}
+
+{{define "unit_meta_details"}}
+  <div class="UnitMetaDetails">
+    <div class="UnitMetaDetails-header">DETAILS<a href="/about">Learn more</a></div>
+    <ul>
+      <li>
+        {{template "unit_meta_details_check" .Unit.HasGoMod}}
+        Has <a href="{{.Details.ModFileURL}}" target="_blank">go.mod</a> file
+        {{template "unit_meta_details_toggletip" "The Go module system was introduced in Go 1.11 and is the official dependency management solution for Go."}}
+      </li>
+      <li>
+        {{template "unit_meta_details_check" .Unit.IsRedistributable}}
+        Permissive license
+        {{template "unit_meta_details_toggletip" "Permissive licenses place minimal restrictions on how software can be used, modified, and redistributed."}}
+      </li>
+      <li>
+        {{template "unit_meta_details_check" .Details.IsTaggedVersion}}
+        Tagged version
+        {{template "unit_meta_details_toggletip" "Modules with tagged versions give importers more predictable builds."}}
+      </li>
+      <li>
+        {{template "unit_meta_details_check"  .Details.IsStableVersion}}
+        Stable version
+        {{template "unit_meta_details_toggletip" "When a project reaches major version v1 it is considered stable."}}
+      </li>
+    </ul>
+  </div>
 {{end}}
\ No newline at end of file
diff --git a/content/static/js/toggle-tip.js b/content/static/js/toggle-tip.js
new file mode 100644
index 0000000..450de8a
--- /dev/null
+++ b/content/static/js/toggle-tip.js
@@ -0,0 +1,39 @@
+/**
+ * @license
+ * Copyright 2019-2020 The Go Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style
+ * license that can be found in the LICENSE file.
+ */
+
+const toggles = document.querySelectorAll('[data-toggletip-content]');
+
+/**
+ * Adds event listeners to toggletip elements to display their
+ * content when the toggle button is pressed. Used in the right
+ * sidebar details section.
+ */
+toggles.forEach(toggle => {
+  const message = toggle.getAttribute('data-toggletip-content');
+  const tip = toggle.nextElementSibling;
+  toggle.addEventListener('click', () => {
+    tip.innerHTML = '';
+    setTimeout(() => {
+      tip.innerHTML = '<span class="UnitMetaDetails-toggletipBubble">' + message + '</span>';
+    }, 100);
+  });
+
+  // Close on outside click
+  document.addEventListener('click', e => {
+    if (toggle !== e.target) {
+      tip.innerHTML = '';
+    }
+  });
+
+  // Remove toggletip on ESC
+  toggle.addEventListener('keydown', e => {
+    const ESC_KEY = 27;
+    if ((e.keyCode || e.which) === ESC_KEY) {
+      tip.innerHTML = '';
+    }
+  });
+});
diff --git a/content/static/js/unit.js b/content/static/js/unit.js
index f3e32d6..23cdcd5 100644
--- a/content/static/js/unit.js
+++ b/content/static/js/unit.js
@@ -6,6 +6,7 @@
  */
 
 import { AccordionController } from './accordion.js';
+import './toggle-tip.js';
 
 /**
  * Instantiates accordion controller for the left sidebar.
diff --git a/internal/experiment.go b/internal/experiment.go
index 71564f4..22c4bdd 100644
--- a/internal/experiment.go
+++ b/internal/experiment.go
@@ -6,19 +6,21 @@
 package internal
 
 const (
-	ExperimentAutocomplete   = "autocomplete"
-	ExperimentFasterDecoding = "faster-decoding"
-	ExperimentGoldmark       = "goldmark"
-	ExperimentReadmeOutline  = "readme-outline"
+	ExperimentAutocomplete       = "autocomplete"
+	ExperimentFasterDecoding     = "faster-decoding"
+	ExperimentGoldmark           = "goldmark"
+	ExperimentReadmeOutline      = "readme-outline"
+	ExperimentUnitSidebarDetails = "unit-sidebar-details"
 )
 
 // Experiments represents all of the active experiments in the codebase and
 // a description of each experiment.
 var Experiments = map[string]string{
-	ExperimentAutocomplete:   "Enable autocomplete with search.",
-	ExperimentFasterDecoding: "Decode ASTs faster.",
-	ExperimentGoldmark:       "Enable the usage of rendering markdown using goldmark instead of blackfriday.",
-	ExperimentReadmeOutline:  "Enable the readme outline in the side nav.",
+	ExperimentAutocomplete:       "Enable autocomplete with search.",
+	ExperimentFasterDecoding:     "Decode ASTs faster.",
+	ExperimentGoldmark:           "Enable the usage of rendering markdown using goldmark instead of blackfriday.",
+	ExperimentReadmeOutline:      "Enable the readme outline in the side nav.",
+	ExperimentUnitSidebarDetails: "Enable the details section in the right sidebar.",
 }
 
 // Experiment holds data associated with an experimental feature for frontend
