clean up a bunch of small issues #33
|
@ -0,0 +1,10 @@
|
|||
<h2>About Distrust</h2>
|
||||
|
||||
<p>The Distrust team has helped build and secure some of the highest-risk systems in the world. This includes vaulting infrastructure at BitGo, Unit410, and Turnkey, as well as security work with electrical grid operators, industrial control systems, and other mission-critical systems.</p>
|
||||
|
||||
<p>We've conducted deep security due diligence across most major custodians. Through our experience with organizations that operate under constant threat—where **every class of attack is viable**—we've developed a methodology and set of open source tools designed to defend against even the most sophisticated adversaries.</p>
|
||||
|
||||
<p>Today, we're taking the hard-earned lessons from that work and sharing them with the broader community. Our goal is to help others strengthen their security posture by making what we've learned—and the open source tools we've built—available to everyone.</p>
|
||||
|
||||
<p><b>Looking for help analyzing and mitigating security risks in your own organization? <a href="/contact.html">Talk to us.</a></b></p>
|
||||
|
|
@ -1,17 +1,15 @@
|
|||
<footer>
|
||||
<div class="footer-container">
|
||||
<div>
|
||||
<div style="font-size: 1rem">
|
||||
{{ site.footer }}
|
||||
</div>
|
||||
<div>
|
||||
<a class="footer-link" href="/services.html">Services</a>
|
||||
<a class="footer-link" href="/software.html">Software</a>
|
||||
<a class="footer-link" href="/company.html">Company</a>
|
||||
<a class="footer-link" href="/contact.html">Contact</a>
|
||||
<a class="footer-link" href="/feed.xml" style="vertical-align: middle;">
|
||||
<img style="filter: grayscale(100%); width: 22px; vertical-align: sub" src="/assets/base/rss.png" />
|
||||
</a>
|
||||
|
||||
<div class="footer-link">
|
||||
{% include nav-links.html %}
|
||||
<div>
|
||||
<a href="/feed.xml" style="vertical-align: middle;">
|
||||
<img style="filter: grayscale(100%); width: 22px; vertical-align: sub" src="/assets/base/rss.png" />
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript" src="/assets/js/main.js"></script>
|
||||
|
|
|
@ -1,44 +1,44 @@
|
|||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/assets/favicons/favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="96x96" href="/assets/favicons/favicon-96x96.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/assets/favicons/favicon-16x16.png">
|
||||
<title>{{ page.title }}</title>
|
||||
<meta content="{{ site.title }}" property="og:site_name" />
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/assets/favicons/favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="96x96" href="/assets/favicons/favicon-96x96.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/assets/favicons/favicon-16x16.png">
|
||||
<title>{{ page.title }}</title>
|
||||
<meta content="{{ site.title }}" property="og:site_name" />
|
||||
|
||||
{% if page.noindex %}
|
||||
{% if page.noindex %}
|
||||
<meta name="robots" content="noindex" />
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{% if page.title %}
|
||||
<meta content="{{ page.tagline }}" property="og:title" />
|
||||
<meta content="article" property="og:type" />
|
||||
{% else %}
|
||||
{% else %}
|
||||
<meta content="website" property="og:type" />
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{% if page.summary %}
|
||||
<meta content="{{ page.summary }}" property="og:description" />
|
||||
{% else %}
|
||||
{% else %}
|
||||
<meta content="{{ site.description }}" property="og:description" />
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{% if page.url %}
|
||||
<meta content="{{ site.url }}{{ page.url }}" property="og:url" />
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{% if page.date %}
|
||||
<meta
|
||||
content="{{ page.date | date_to_xmlschema }}"
|
||||
property="article:published_time"
|
||||
/>
|
||||
/>
|
||||
<meta content="{{ site.url }}/about/" property="article:author" />
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{% if page.thumbnail %}
|
||||
<meta content="{{ site.url }}{{ page.thumbnail }}" property="og:image" />
|
||||
<meta content="{{ site.url }}{{ page.thumbnail }}" property="og:image" />
|
||||
{% else %}
|
||||
<meta content="{{ site.banner }}" property="og:image" />
|
||||
{% endif %}
|
||||
|
@ -55,65 +55,45 @@
|
|||
{% endfor %}
|
||||
{% endif %}
|
||||
|
||||
<!-- Twitter Cards -->
|
||||
<meta name="twitter:card" content="summary" />
|
||||
<!--<meta name="twitter:site" content="@{{ site.share.twitter_username }}" />-->
|
||||
<!--<meta name="twitter:creator" content="@{{ site.share.twitter_username }}" />-->
|
||||
<!-- Twitter Cards -->
|
||||
<meta name="twitter:card" content="summary" />
|
||||
<!--<meta name="twitter:site" content="@{{ site.share.twitter_username }}" />-->
|
||||
<!--<meta name="twitter:creator" content="@{{ site.share.twitter_username }}" />-->
|
||||
|
||||
{% if page.title %}
|
||||
{% if page.title %}
|
||||
<meta name="twitter:title" content="{{ page.title }}" />
|
||||
{% else %}
|
||||
{% else %}
|
||||
<meta name="twitter:title" content="{{ site.title }}" />
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{% if page.url %}
|
||||
{% if page.url %}
|
||||
<meta name="twitter:url" content="{{ site.url }}{{ page.url }}" />
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{% if page.summary %}
|
||||
<meta name="twitter:description" content="{{ page.summary }}" />
|
||||
{% else %}
|
||||
{% else %}
|
||||
<meta name="twitter:description" content="{{ site.description }}" />
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{% if page.header-img %}
|
||||
<meta
|
||||
name="twitter:image:src"
|
||||
content="{{ site.url }}{{ page.thumbnail }}"
|
||||
/>
|
||||
{% endif %}
|
||||
name="twitter:image:src"
|
||||
content="{{ site.url }}{{ page.thumbnail }}"
|
||||
/>
|
||||
{% endif %}
|
||||
|
||||
{% if page.robots %}
|
||||
{% if page.robots %}
|
||||
<meta name="robots" content="{{page.robots}}" />
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="{{ "/assets/main.css" | relative_url }}">
|
||||
<link rel="stylesheet" type="text/css" href="{{ "/assets/main-dark.css" | relative_url }}">
|
||||
<link rel="stylesheet" type="text/css" href="{{ "/assets/main.css" | relative_url }}">
|
||||
<link rel="stylesheet" type="text/css" href="{{ "/assets/main-dark.css" | relative_url }}">
|
||||
|
||||
<!-- "Really, there is nothing interesting to see here. It is a static website. -->
|
||||
<!-- Here is the terraform code that deployed it, and here is the site source repo. -->
|
||||
<!-- If you find anything interesting or want to talk to us, reach out via our /contact page!" -->
|
||||
<!-- https://git.distrust.co/public/stack -->
|
||||
<!-- https://git.distrust.co/public/website -->
|
||||
<!-- mobile menu content -->
|
||||
|
||||
<div class="menu-content" style="display: none">
|
||||
<div class="inner-menu-content">
|
||||
<div>
|
||||
<a href="/services.html">Services</a>
|
||||
</div>
|
||||
<div>
|
||||
<a href="/software.html">Software</a>
|
||||
</div>
|
||||
<div>
|
||||
<a href="/company.html">Company</a>
|
||||
</div>
|
||||
<div>
|
||||
<a href="/blog.html">Blog</a>
|
||||
</div>
|
||||
<div>
|
||||
<a href="/contact.html">Contact</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- "Really, there is nothing interesting to see here. It is a static website. -->
|
||||
<!-- Here is the terraform code that deployed it, and here is the site source repo. -->
|
||||
<!-- If you find anything interesting or want to talk to us, reach out via our /contact page!" -->
|
||||
<!-- https://git.distrust.co/public/stack -->
|
||||
<!-- https://git.distrust.co/public/website -->
|
||||
<!-- mobile menu content -->
|
||||
</head>
|
||||
|
|
|
@ -22,12 +22,19 @@
|
|||
</li>
|
||||
|
||||
</ul>
|
||||
<div id="hamburger-menu" class="hide menu-button-container" for="menu-toggle">
|
||||
<input id="menu-toggle" type="checkbox" />
|
||||
<label style="display: inline-block">
|
||||
<div class='menu-button'></div>
|
||||
</label>
|
||||
</div>
|
||||
<input type="checkbox" id="menu-toggle" />
|
||||
|
||||
<label for="menu-toggle" class="hamburger-menu">
|
||||
<span></span>
|
||||
<span></span>
|
||||
<span></span>
|
||||
</label>
|
||||
|
||||
<div class="menu-content">
|
||||
<div class="inner-menu-content">
|
||||
{% include nav-links.html %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
|
@ -56,10 +63,11 @@
|
|||
const currentScrollPos = window.scrollY;
|
||||
|
||||
if (currentScrollPos > prevScrollPos) {
|
||||
hamburgerMenu.style.display = 'none';
|
||||
document.getElementById('menu-toggle').checked = false;
|
||||
}
|
||||
prevScrollPos = currentScrollPos;
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
</header>
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
{%- for path in page_paths -%}
|
||||
{%- assign my_page = site.pages | where: "path", path | first -%}
|
||||
{%- if my_page.title -%}
|
||||
{%- if my_page.title != 'Home' -%}
|
||||
<div>
|
||||
<a href="{{ my_page.url | relative_url }}">{{ my_page.title | escape }}</a>
|
||||
</div>
|
||||
{%- endif -%}
|
||||
{%- endif -%}
|
||||
{%- endfor -%}
|
|
@ -4,11 +4,11 @@
|
|||
<p class="hero-p">Every day, we apply these guiding principles to how we think, build, and secure systems.</p>
|
||||
</div>
|
||||
<div class="flex-container-inner">
|
||||
<ol dir="rtl" style="font-size: 30px; text-align: right">
|
||||
<ol class="values-container">
|
||||
<li>eliminate centralized trust</li>
|
||||
<li>open source everything</li>
|
||||
<li>security beyond compliance</li>
|
||||
<li>move thoughtfully and improve things</li>
|
||||
<li>move thoughtfully & improve things</li>
|
||||
<li>impact over profit</li>
|
||||
</ol>
|
||||
</div>
|
||||
|
|
|
@ -10,11 +10,12 @@
|
|||
<div class="blog-details-date">{{ page.date | date: "%b %e, %Y" }}</div>
|
||||
<div class="blog-details-read-time">{{ page.content | number_of_words | divided_by: 200 }} min read</div>
|
||||
</div>
|
||||
<h1>{{page.title}}</h1>
|
||||
|
||||
<h1 style="margin-bottom: 40px">{{page.title}}</h1>
|
||||
<div class="entry">
|
||||
{{ content }}
|
||||
</div>
|
||||
<hr>
|
||||
{% include blog-about-distrust.html %}
|
||||
|
||||
<p>
|
||||
{% for author in page.authors %}
|
||||
|
|
|
@ -162,14 +162,3 @@ Implementing these strategies can be technically demanding. They represent two e
|
|||
|
||||
This high-level overview is meant to illustrate the kinds of problems we focus on at Distrust. Depending on the chosen strategy and organizational context, implementation can take anywhere from a few weeks to several years, especially as tooling continues to mature.
|
||||
|
||||
---
|
||||
|
||||
## About Distrust
|
||||
|
||||
The Distrust team has helped build and secure some of the highest-risk systems in the world. This includes vaulting infrastructure at BitGo, Unit410, and Turnkey, as well as security work with electrical grid operators, industrial control systems, and other mission-critical systems.
|
||||
|
||||
We've conducted deep security due diligence across most major custodians. Through our experience with organizations that operate under constant threat—where **every class of attack is viable**—we've developed a methodology and set of open source tools designed to defend against even the most sophisticated adversaries.
|
||||
|
||||
Today, we're taking the hard-earned lessons from that work and sharing them with the broader community. Our goal is to help others strengthen their security posture by making what we've learned—and the open source tools we've built—available to everyone.
|
||||
|
||||
**Looking for help analyzing and mitigating security risks in your own organization? [Talk to us](https://distrust.co/contact.html)**.
|
||||
|
|
159
_sass/base.scss
159
_sass/base.scss
|
@ -606,13 +606,21 @@ footer {
|
|||
}
|
||||
|
||||
.footer-link {
|
||||
color: var(--light-grey);
|
||||
display: inline-block;
|
||||
text-decoration: none;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
}
|
||||
|
||||
.footer-link div {
|
||||
display: flex;
|
||||
margin-left: 20px;
|
||||
}
|
||||
|
||||
.footer-link:hover {
|
||||
.footer-link div a {
|
||||
text-decoration: none;
|
||||
color: var(--light-grey);
|
||||
}
|
||||
|
||||
.footer-link div a:hover {
|
||||
background: transparent;
|
||||
color: white;
|
||||
}
|
||||
|
@ -699,78 +707,82 @@ hr {
|
|||
align-items: center;
|
||||
}
|
||||
|
||||
.menu-button-container {
|
||||
display: none;
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
cursor: pointer;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
#menu-toggle {
|
||||
display: none;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.menu-button,
|
||||
.menu-button::before,
|
||||
.menu-button::after {
|
||||
display: block;
|
||||
background-color: #fff;
|
||||
position: absolute;
|
||||
height: 4px;
|
||||
width: 30px;
|
||||
transition: transform 400ms cubic-bezier(0.23, 1, 0.32, 1);
|
||||
border-radius: 2px;
|
||||
.hamburger-wrapper {
|
||||
position: relative;
|
||||
z-index: 100;
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
}
|
||||
|
||||
.menu-button::before {
|
||||
content: '';
|
||||
margin-top: -8px;
|
||||
.hamburger-menu {
|
||||
display: inline-block;
|
||||
cursor: pointer;
|
||||
position: relative;
|
||||
width: 30px;
|
||||
height: 22px;
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
.menu-button::after {
|
||||
content: '';
|
||||
margin-top: 8px;
|
||||
.hamburger-menu span {
|
||||
display: block;
|
||||
position: absolute;
|
||||
height: 4px;
|
||||
width: 100%;
|
||||
background-color: #fff;
|
||||
border-radius: 2px;
|
||||
left: 0;
|
||||
transition: transform 0.4s, top 0.4s, opacity 0.4s;
|
||||
}
|
||||
|
||||
#menu-toggle:checked+.menu-button-container .menu-button::before {
|
||||
margin-top: 0px;
|
||||
transform: rotate(405deg);
|
||||
}
|
||||
.hamburger-menu span:nth-child(1) { top: 0; }
|
||||
.hamburger-menu span:nth-child(2) { top: 9px; }
|
||||
.hamburger-menu span:nth-child(3) { top: 18px; }
|
||||
|
||||
#menu-toggle:checked+.menu-button-container .menu-button {
|
||||
background: rgba(255, 255, 255, 0);
|
||||
#menu-toggle:checked + .hamburger-menu span:nth-child(1) {
|
||||
transform: rotate(45deg);
|
||||
top: 9px;
|
||||
}
|
||||
|
||||
#menu-toggle:checked+.menu-button-container .menu-button::after {
|
||||
margin-top: 0px;
|
||||
transform: rotate(-405deg);
|
||||
#menu-toggle:checked + .hamburger-menu span:nth-child(2) {
|
||||
opacity: 0;
|
||||
}
|
||||
#menu-toggle:checked + .hamburger-menu span:nth-child(3) {
|
||||
transform: rotate(-45deg);
|
||||
top: 9px;
|
||||
}
|
||||
|
||||
.menu-content {
|
||||
position: absolute;
|
||||
border-bottom: 1px solid var(--light-grey);
|
||||
position: absolute;
|
||||
top: 100px;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
background: var(--background-color, #222);
|
||||
z-index: 50;
|
||||
padding: 20px 0;
|
||||
display: none;
|
||||
background: var(--background-color);
|
||||
text-align: right;
|
||||
margin-top: 100px;
|
||||
width: 100%;
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
#menu-toggle:checked ~ .menu-content {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.inner-menu-content {
|
||||
border-bottom: 1px solid white;
|
||||
margin-top: 50px;
|
||||
margin: 20px 30px;
|
||||
}
|
||||
|
||||
.inner-menu-content a {
|
||||
color: white;
|
||||
text-decoration: none;
|
||||
display: block;
|
||||
padding: 10px 0;
|
||||
}
|
||||
|
||||
.inner-menu-content a:hover {
|
||||
background: unset;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.menu-content div {
|
||||
margin: 30px;
|
||||
color: #ccc;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -809,10 +821,6 @@ hr {
|
|||
0px 10px 30px rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
|
||||
.team .card:hover {
|
||||
border: 1px solid var(--mid-grey);
|
||||
}
|
||||
|
||||
.team .title {
|
||||
text-transform: unset;
|
||||
}
|
||||
|
@ -824,9 +832,13 @@ hr {
|
|||
color: var(--light-grey);
|
||||
}
|
||||
|
||||
.team a {
|
||||
color: var(--light-purple);
|
||||
}
|
||||
|
||||
.team a:hover {
|
||||
background: unset;
|
||||
color: white;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.team img {
|
||||
|
@ -1221,6 +1233,12 @@ section {
|
|||
text-decoration: none;
|
||||
}
|
||||
|
||||
.values-container {
|
||||
font-size: 30px;
|
||||
text-align: right;
|
||||
direction: rtl;
|
||||
}
|
||||
|
||||
.text-well {
|
||||
max-width: 100%;
|
||||
}
|
||||
|
@ -1707,8 +1725,8 @@ pre {
|
|||
}
|
||||
|
||||
.blog h1 {
|
||||
font-size: 2.5rem !important;
|
||||
line-height: 2.2rem !important;
|
||||
font-size: 2rem !important;
|
||||
line-height: 2rem !important;
|
||||
font-weight: 600 !important;
|
||||
}
|
||||
|
||||
|
@ -1919,8 +1937,13 @@ pre {
|
|||
}
|
||||
|
||||
.footer-link {
|
||||
flex-direction: column !important;
|
||||
}
|
||||
|
||||
.footer-link div {
|
||||
margin-bottom: 20px;
|
||||
min-width: 200px;
|
||||
display: inline;
|
||||
}
|
||||
|
||||
.tall-section {
|
||||
|
@ -1995,9 +2018,12 @@ pre {
|
|||
flex-direction: column-reverse;
|
||||
}
|
||||
|
||||
.footer-link {
|
||||
.footer-link div {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.footer-link div a {
|
||||
font-size: 1rem !important;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.quote {
|
||||
|
@ -2005,6 +2031,11 @@ pre {
|
|||
line-height: 1.5rem;
|
||||
}
|
||||
|
||||
.values-container {
|
||||
text-align: left;
|
||||
direction: ltr;
|
||||
}
|
||||
|
||||
/**
|
||||
* Services Page
|
||||
*/
|
||||
|
|
|
@ -68,7 +68,6 @@ function initializeCarousel() {
|
|||
function initializeCompaniesCarousel() {
|
||||
const slider = document.getElementById('logoSlider');
|
||||
|
||||
// Duplicate the existing logos by appending the same HTML again:
|
||||
slider.innerHTML += slider.innerHTML;
|
||||
|
||||
let offset = 0;
|
||||
|
@ -78,7 +77,6 @@ function initializeCompaniesCarousel() {
|
|||
offset -= speed;
|
||||
slider.style.transform = `translateX(${offset}px)`;
|
||||
|
||||
// After half of the total (2 sets) is scrolled, reset
|
||||
if (Math.abs(offset) >= slider.scrollWidth / 2) {
|
||||
offset = 0;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue