Glossary
Upwind Glossary
Your hub to learn about the future of cloud security and runtime.
Feed
Grid
Code Security

October 9, 2026
Software supply chain security: risks, frameworks, and best practices
Updated on November 4, 2026Software supply chain security protects everything that goes into building, delivering, and running software: source code, open-source dependencies, build systems, CI/CD pipelines, artifact registries, signing keys, third-party vendors, and the workloads that run in production. Modern applications are mostly assembled rather than written, so one compromised package, build runner, or vendor…

October 8, 2026
10 best DAST tools for 2026: dynamic application scanners compared
Updated on November 4, 2026DAST tools (dynamic application security testing tools) attack a running web application or API from the outside, the way a real attacker would, to find exploitable flaws such as SQL injection, cross-site scripting and insecure server configurations. The good ones crawl modern single-page apps and import OpenAPI or GraphQL schemas. They…

October 8, 2026
10 best SAST tools for 2026: static code scanners compared
Updated on November 4, 2026The best SAST tools for 2026 scan source code, bytecode and binaries before an application runs. They flag flaws such as SQL injection, buffer overflows and unsanitized input at the exact line where they occur, with few enough false positives that developers keep acting on the results. Tool choice matters more…

October 8, 2026
What is ASPM? Application security posture management explained
Updated on November 4, 2026Application security posture management (ASPM) is a category of security tooling that collects findings from the security tools across your software lifecycle, maps them to the applications, services and owners they affect, and ranks them by real risk so teams fix the most dangerous issues first. An ASPM platform does not…

October 8, 2026
10 best software composition analysis (SCA) tools for 2026
Updated on November 4, 2026The best software composition analysis (SCA) tools for 2026 inventory every open-source and third-party component in your code and containers, match each one against vulnerability and license data, and tell you which findings to fix first. Modern applications are assembled more than written, so your team owns the risk of code…

October 6, 2026
Top 12 CI/CD security tools for 2026 to protect your pipeline
Updated on November 4, 2026CI/CD security tools are the scanners, signers and policy engines that check code, dependencies, infrastructure definitions, container images and the pipeline itself at each stage from commit to deploy. Good tools run inside the jobs developers already trigger, return results in minutes, and fail a build only when a finding actually…

June 18, 2025
SAST Fundamentals for Securing Source Code
Developers use SAST (Static Application Security Testing) to safeguard code before deployment, making for better coding practices from the start. But using SAST fundamentals for securing source code isn’t a perfect solution, and apart from building team buy-in and expertise, leaders will find they’re contending with secondary challenges as well: compliance requirements, depth of coverage,…

May 7, 2025
What is the Linux Kernel?
As organizational infrastructures shift toward more complex hybrid cloud or containerized environments, the Linux kernel might be brought into hyperfocus. After all, its kernel-level vulnerabilities can be the most critical entry points for attackers. And with the growing adoption of microservices and containers, how the Linux kernel handles them can become a critical point of…

April 14, 2025
Best Open-Source DevSecOps Tools in 2025
In the past, security was often treated as a late-stage addition in the software development lifecycle (SDLC) — primarily as a safeguard to protect software and its underlying infrastructure. However, with development teams shifting to shorter, more frequent iterations of applications, DevSecOps rose to the fore to become a widespread and ongoing practice for ensuring…

January 22, 2025
Understanding the Shared Responsibility Model in Cloud Security
The fragmented nature of responsibilities in cloud security — shaped by the specific cloud service model — means CSPs may secure infrastructure, operating systems, or platforms, while customers are responsible for protecting their data, applications, and configurations. However, nuanced differences and enforcing policies across clouds often throw a wrench into this otherwise straightforward division of…

Software supply chain security: risks, frameworks, and best practices
<?php
$post_id = get_the_ID();
$author_terms = get_the_terms( $post_id, 'author_tax' );
$authors = [];
if ( $author_terms && ! is_wp_error( $author_terms ) ) {
foreach ( $author_terms as $term ) {
$photo_id = get_field(
'author_photo',
'author_tax_' . $term->term_id
);
$authors[] = [
'name' => $term->name,
'url' => get_term_link( $term->term_id ),
'photo' => $photo_id
? wp_get_attachment_image_url( $photo_id, 'author-image' )
: '',
];
}
}
?>
<div class="uw-bf-card__meta">
<?php if ( count( $authors ) > 0 ) { ?>
<div class="uw-bf-card__author-photos">
<?php foreach ( $authors as $author ) { ?>
<a
href="<?php echo esc_url( $author['url'] ); ?>"
class="uw-bf-card__author-photo-link"
>
<img
class="uw-bf-card__author-photo"
src="<?php echo esc_url( $author['photo'] ); ?>"
alt="<?php echo esc_attr( $author['name'] ); ?>"
>
</a>
<?php } ?>
</div>
<?php } ?>
<div class="uw-bf-card__meta-sub">
<span class="uw-bf-card__author-names">
<?php echo getAuthorNames( $authors ); ?>
</span>
<span class="uw-bf-card__date">
<?php echo get_the_date( 'F d, Y', $post_id ); ?>
</span>
</div>
</div>.brxe-qhtnal{
.uw-bf-card__author-photo, .uw-bf-card__author-photo-link {
width: 53px;
height: 53px;
}
}Updated on November 4, 2026Software supply chain security protects everything that goes into building, delivering, and running software: source code, open-source dependencies, build systems, CI/CD pipelines, artifact registries, signing keys, third-party vendors, and the workloads that run in production. Modern applications are mostly assembled rather than written, so one compromised package, build runner, or vendor…
Read More
<?php $url = get_permalink(); ?>
<?php $title = get_the_title(); ?>
<div class="uw-bf-card__share">
<a class="uw-bf-share-btn" href="https://www.linkedin.com/shareArticle?mini=true&url=<?php echo urlencode($url) . '&title=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on LinkedIn"><svg width="12" height="11" viewBox="0 0 12 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2.51819 10.9373H0.185826V3.63501H2.51819V10.9373ZM1.35075 2.63892C0.604939 2.63892 0 2.03833 0 1.31323C5.33822e-09 0.964941 0.142311 0.630916 0.395626 0.384637C0.648942 0.138358 0.992511 0 1.35075 0C1.709 0 2.05256 0.138358 2.30588 0.384637C2.5592 0.630916 2.70151 0.964941 2.70151 1.31323C2.70151 2.03833 2.09632 2.63892 1.35075 2.63892ZM11.2475 10.9373H8.92015V7.38257C8.92015 6.5354 8.90257 5.44897 7.70751 5.44897C6.49487 5.44897 6.30904 6.36938 6.30904 7.32153V10.9373H3.97919V3.63501H6.21613V4.6311H6.24877C6.56016 4.05737 7.32079 3.4519 8.45558 3.4519C10.8161 3.4519 11.25 4.96313 11.25 6.92603V10.9373H11.2475Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://twitter.com/intent/tweet?url=<?php echo rawurlencode($url) . '&text=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on X"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.3319 5.92804L13.5437 0H12.3087L7.78327 5.14724L4.16883 0H0L5.46574 7.78354L0 14H1.2351L6.01406 8.56434L9.83117 14H14L8.3316 5.92804H8.3319ZM6.64026 7.85211L6.08647 7.07705L1.68013 0.909776H3.57717L7.13314 5.88696L7.68693 6.66202L12.3093 13.1316H10.4122L6.64026 7.85241V7.85211Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://www.facebook.com/sharer/sharer.php?u=<?php echo urlencode($url); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on Facebook"><svg width="7" height="14" viewBox="0 0 7 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6.00586 7.73438L6.33914 5.24595H4.25531V3.63113C4.25531 2.95034 4.54641 2.28674 5.47969 2.28674H6.42703V0.168115C6.42703 0.168115 5.56734 0 4.74539 0C3.0293 0 1.90758 1.19185 1.90758 3.34941V5.24595H0V7.73438H1.90758V13.75H4.25531V7.73438H6.00586Z" fill="#75808E"/></svg></a>
<div class="uw-bf-copy-wrap">
<button class="uw-bf-share-btn uw-bf-copy-btn" data-url="<?php echo get_permalink(); ?>" aria-label="Copy link">
<svg width="15" height="11" viewBox="0 0 15 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M13.1713 5.42406C14.4955 4.18261 14.4955 2.17211 13.1713 0.930656C11.9994 -0.167977 10.1525 -0.310799 8.80488 0.592277L8.76738 0.616447C8.42988 0.842765 8.35254 1.28222 8.59394 1.59643C8.83535 1.91064 9.3041 1.98534 9.63926 1.75902L9.67676 1.73485C10.4291 1.23168 11.458 1.31078 12.1096 1.92382C12.8479 2.61596 12.8479 3.73656 12.1096 4.4287L9.47988 6.89843C8.7416 7.59057 7.54629 7.59057 6.80801 6.89843C6.1541 6.28539 6.06973 5.32079 6.60645 4.61767L6.63223 4.58251C6.87363 4.26611 6.79394 3.82665 6.45879 3.60253C6.12363 3.37841 5.65254 3.45092 5.41348 3.76513L5.3877 3.80028C4.42207 5.06152 4.57441 6.79296 5.74629 7.89159C7.07051 9.13305 9.21504 9.13305 10.5393 7.89159L13.1713 5.42406ZM0.993164 4.9099C-0.331055 6.15136 -0.331055 8.16186 0.993164 9.40331C2.16504 10.5019 4.01191 10.6448 5.35957 9.74169L5.39707 9.71752C5.73457 9.4912 5.81191 9.05175 5.57051 8.73754C5.3291 8.42333 4.86035 8.34863 4.5252 8.57494L4.4877 8.59911C3.73535 9.10229 2.70645 9.02319 2.05488 8.41015C1.3166 7.71581 1.3166 6.59521 2.05488 5.90307L4.68457 3.43554C5.42285 2.7434 6.61816 2.7434 7.35645 3.43554C8.01035 4.04858 8.09473 5.01318 7.55801 5.7185L7.53223 5.75365C7.29082 6.07006 7.37051 6.50951 7.70566 6.73363C8.04082 6.95776 8.51191 6.88525 8.75098 6.57104L8.77676 6.53588C9.74238 5.27245 9.59004 3.54101 8.41816 2.44237C7.09395 1.20092 4.94941 1.20092 3.6252 2.44237L0.993164 4.9099Z" fill="#75808E"/></svg>
<div class="uw-bf-copy-notify">Link copied</div>
</button>
</div>
</div>.uw-bf-copy-notify {
opacity: 0;
visibility: hidden;
transition: opacity 0.2s ease, visibility 0.2s ease;
}
.uw-bf-copy-btn.is-copied .uw-bf-copy-notify {
opacity: 1;
visibility: visible;
}document.addEventListener('click', async (event) => {
const button = event.target.closest('.uw-bf-copy-btn');
if (!button) {
return;
}
const url = button.dataset.url;
try {
await navigator.clipboard.writeText(url);
button.classList.add('is-copied');
setTimeout(() => {
button.classList.remove('is-copied');
}, 2000);
} catch (error) {
console.error('COPY ERROR:', error);
}
});
10 best DAST tools for 2026: dynamic application scanners compared
<?php
$post_id = get_the_ID();
$author_terms = get_the_terms( $post_id, 'author_tax' );
$authors = [];
if ( $author_terms && ! is_wp_error( $author_terms ) ) {
foreach ( $author_terms as $term ) {
$photo_id = get_field(
'author_photo',
'author_tax_' . $term->term_id
);
$authors[] = [
'name' => $term->name,
'url' => get_term_link( $term->term_id ),
'photo' => $photo_id
? wp_get_attachment_image_url( $photo_id, 'author-image' )
: '',
];
}
}
?>
<div class="uw-bf-card__meta">
<?php if ( count( $authors ) > 0 ) { ?>
<div class="uw-bf-card__author-photos">
<?php foreach ( $authors as $author ) { ?>
<a
href="<?php echo esc_url( $author['url'] ); ?>"
class="uw-bf-card__author-photo-link"
>
<img
class="uw-bf-card__author-photo"
src="<?php echo esc_url( $author['photo'] ); ?>"
alt="<?php echo esc_attr( $author['name'] ); ?>"
>
</a>
<?php } ?>
</div>
<?php } ?>
<div class="uw-bf-card__meta-sub">
<span class="uw-bf-card__author-names">
<?php echo getAuthorNames( $authors ); ?>
</span>
<span class="uw-bf-card__date">
<?php echo get_the_date( 'F d, Y', $post_id ); ?>
</span>
</div>
</div>.brxe-qhtnal{
.uw-bf-card__author-photo, .uw-bf-card__author-photo-link {
width: 53px;
height: 53px;
}
}Updated on November 4, 2026DAST tools (dynamic application security testing tools) attack a running web application or API from the outside, the way a real attacker would, to find exploitable flaws such as SQL injection, cross-site scripting and insecure server configurations. The good ones crawl modern single-page apps and import OpenAPI or GraphQL schemas. They…
Read More
<?php $url = get_permalink(); ?>
<?php $title = get_the_title(); ?>
<div class="uw-bf-card__share">
<a class="uw-bf-share-btn" href="https://www.linkedin.com/shareArticle?mini=true&url=<?php echo urlencode($url) . '&title=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on LinkedIn"><svg width="12" height="11" viewBox="0 0 12 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2.51819 10.9373H0.185826V3.63501H2.51819V10.9373ZM1.35075 2.63892C0.604939 2.63892 0 2.03833 0 1.31323C5.33822e-09 0.964941 0.142311 0.630916 0.395626 0.384637C0.648942 0.138358 0.992511 0 1.35075 0C1.709 0 2.05256 0.138358 2.30588 0.384637C2.5592 0.630916 2.70151 0.964941 2.70151 1.31323C2.70151 2.03833 2.09632 2.63892 1.35075 2.63892ZM11.2475 10.9373H8.92015V7.38257C8.92015 6.5354 8.90257 5.44897 7.70751 5.44897C6.49487 5.44897 6.30904 6.36938 6.30904 7.32153V10.9373H3.97919V3.63501H6.21613V4.6311H6.24877C6.56016 4.05737 7.32079 3.4519 8.45558 3.4519C10.8161 3.4519 11.25 4.96313 11.25 6.92603V10.9373H11.2475Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://twitter.com/intent/tweet?url=<?php echo rawurlencode($url) . '&text=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on X"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.3319 5.92804L13.5437 0H12.3087L7.78327 5.14724L4.16883 0H0L5.46574 7.78354L0 14H1.2351L6.01406 8.56434L9.83117 14H14L8.3316 5.92804H8.3319ZM6.64026 7.85211L6.08647 7.07705L1.68013 0.909776H3.57717L7.13314 5.88696L7.68693 6.66202L12.3093 13.1316H10.4122L6.64026 7.85241V7.85211Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://www.facebook.com/sharer/sharer.php?u=<?php echo urlencode($url); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on Facebook"><svg width="7" height="14" viewBox="0 0 7 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6.00586 7.73438L6.33914 5.24595H4.25531V3.63113C4.25531 2.95034 4.54641 2.28674 5.47969 2.28674H6.42703V0.168115C6.42703 0.168115 5.56734 0 4.74539 0C3.0293 0 1.90758 1.19185 1.90758 3.34941V5.24595H0V7.73438H1.90758V13.75H4.25531V7.73438H6.00586Z" fill="#75808E"/></svg></a>
<div class="uw-bf-copy-wrap">
<button class="uw-bf-share-btn uw-bf-copy-btn" data-url="<?php echo get_permalink(); ?>" aria-label="Copy link">
<svg width="15" height="11" viewBox="0 0 15 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M13.1713 5.42406C14.4955 4.18261 14.4955 2.17211 13.1713 0.930656C11.9994 -0.167977 10.1525 -0.310799 8.80488 0.592277L8.76738 0.616447C8.42988 0.842765 8.35254 1.28222 8.59394 1.59643C8.83535 1.91064 9.3041 1.98534 9.63926 1.75902L9.67676 1.73485C10.4291 1.23168 11.458 1.31078 12.1096 1.92382C12.8479 2.61596 12.8479 3.73656 12.1096 4.4287L9.47988 6.89843C8.7416 7.59057 7.54629 7.59057 6.80801 6.89843C6.1541 6.28539 6.06973 5.32079 6.60645 4.61767L6.63223 4.58251C6.87363 4.26611 6.79394 3.82665 6.45879 3.60253C6.12363 3.37841 5.65254 3.45092 5.41348 3.76513L5.3877 3.80028C4.42207 5.06152 4.57441 6.79296 5.74629 7.89159C7.07051 9.13305 9.21504 9.13305 10.5393 7.89159L13.1713 5.42406ZM0.993164 4.9099C-0.331055 6.15136 -0.331055 8.16186 0.993164 9.40331C2.16504 10.5019 4.01191 10.6448 5.35957 9.74169L5.39707 9.71752C5.73457 9.4912 5.81191 9.05175 5.57051 8.73754C5.3291 8.42333 4.86035 8.34863 4.5252 8.57494L4.4877 8.59911C3.73535 9.10229 2.70645 9.02319 2.05488 8.41015C1.3166 7.71581 1.3166 6.59521 2.05488 5.90307L4.68457 3.43554C5.42285 2.7434 6.61816 2.7434 7.35645 3.43554C8.01035 4.04858 8.09473 5.01318 7.55801 5.7185L7.53223 5.75365C7.29082 6.07006 7.37051 6.50951 7.70566 6.73363C8.04082 6.95776 8.51191 6.88525 8.75098 6.57104L8.77676 6.53588C9.74238 5.27245 9.59004 3.54101 8.41816 2.44237C7.09395 1.20092 4.94941 1.20092 3.6252 2.44237L0.993164 4.9099Z" fill="#75808E"/></svg>
<div class="uw-bf-copy-notify">Link copied</div>
</button>
</div>
</div>.uw-bf-copy-notify {
opacity: 0;
visibility: hidden;
transition: opacity 0.2s ease, visibility 0.2s ease;
}
.uw-bf-copy-btn.is-copied .uw-bf-copy-notify {
opacity: 1;
visibility: visible;
}document.addEventListener('click', async (event) => {
const button = event.target.closest('.uw-bf-copy-btn');
if (!button) {
return;
}
const url = button.dataset.url;
try {
await navigator.clipboard.writeText(url);
button.classList.add('is-copied');
setTimeout(() => {
button.classList.remove('is-copied');
}, 2000);
} catch (error) {
console.error('COPY ERROR:', error);
}
});
10 best SAST tools for 2026: static code scanners compared
<?php
$post_id = get_the_ID();
$author_terms = get_the_terms( $post_id, 'author_tax' );
$authors = [];
if ( $author_terms && ! is_wp_error( $author_terms ) ) {
foreach ( $author_terms as $term ) {
$photo_id = get_field(
'author_photo',
'author_tax_' . $term->term_id
);
$authors[] = [
'name' => $term->name,
'url' => get_term_link( $term->term_id ),
'photo' => $photo_id
? wp_get_attachment_image_url( $photo_id, 'author-image' )
: '',
];
}
}
?>
<div class="uw-bf-card__meta">
<?php if ( count( $authors ) > 0 ) { ?>
<div class="uw-bf-card__author-photos">
<?php foreach ( $authors as $author ) { ?>
<a
href="<?php echo esc_url( $author['url'] ); ?>"
class="uw-bf-card__author-photo-link"
>
<img
class="uw-bf-card__author-photo"
src="<?php echo esc_url( $author['photo'] ); ?>"
alt="<?php echo esc_attr( $author['name'] ); ?>"
>
</a>
<?php } ?>
</div>
<?php } ?>
<div class="uw-bf-card__meta-sub">
<span class="uw-bf-card__author-names">
<?php echo getAuthorNames( $authors ); ?>
</span>
<span class="uw-bf-card__date">
<?php echo get_the_date( 'F d, Y', $post_id ); ?>
</span>
</div>
</div>.brxe-qhtnal{
.uw-bf-card__author-photo, .uw-bf-card__author-photo-link {
width: 53px;
height: 53px;
}
}Updated on November 4, 2026The best SAST tools for 2026 scan source code, bytecode and binaries before an application runs. They flag flaws such as SQL injection, buffer overflows and unsanitized input at the exact line where they occur, with few enough false positives that developers keep acting on the results. Tool choice matters more…
Read More
<?php $url = get_permalink(); ?>
<?php $title = get_the_title(); ?>
<div class="uw-bf-card__share">
<a class="uw-bf-share-btn" href="https://www.linkedin.com/shareArticle?mini=true&url=<?php echo urlencode($url) . '&title=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on LinkedIn"><svg width="12" height="11" viewBox="0 0 12 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2.51819 10.9373H0.185826V3.63501H2.51819V10.9373ZM1.35075 2.63892C0.604939 2.63892 0 2.03833 0 1.31323C5.33822e-09 0.964941 0.142311 0.630916 0.395626 0.384637C0.648942 0.138358 0.992511 0 1.35075 0C1.709 0 2.05256 0.138358 2.30588 0.384637C2.5592 0.630916 2.70151 0.964941 2.70151 1.31323C2.70151 2.03833 2.09632 2.63892 1.35075 2.63892ZM11.2475 10.9373H8.92015V7.38257C8.92015 6.5354 8.90257 5.44897 7.70751 5.44897C6.49487 5.44897 6.30904 6.36938 6.30904 7.32153V10.9373H3.97919V3.63501H6.21613V4.6311H6.24877C6.56016 4.05737 7.32079 3.4519 8.45558 3.4519C10.8161 3.4519 11.25 4.96313 11.25 6.92603V10.9373H11.2475Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://twitter.com/intent/tweet?url=<?php echo rawurlencode($url) . '&text=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on X"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.3319 5.92804L13.5437 0H12.3087L7.78327 5.14724L4.16883 0H0L5.46574 7.78354L0 14H1.2351L6.01406 8.56434L9.83117 14H14L8.3316 5.92804H8.3319ZM6.64026 7.85211L6.08647 7.07705L1.68013 0.909776H3.57717L7.13314 5.88696L7.68693 6.66202L12.3093 13.1316H10.4122L6.64026 7.85241V7.85211Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://www.facebook.com/sharer/sharer.php?u=<?php echo urlencode($url); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on Facebook"><svg width="7" height="14" viewBox="0 0 7 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6.00586 7.73438L6.33914 5.24595H4.25531V3.63113C4.25531 2.95034 4.54641 2.28674 5.47969 2.28674H6.42703V0.168115C6.42703 0.168115 5.56734 0 4.74539 0C3.0293 0 1.90758 1.19185 1.90758 3.34941V5.24595H0V7.73438H1.90758V13.75H4.25531V7.73438H6.00586Z" fill="#75808E"/></svg></a>
<div class="uw-bf-copy-wrap">
<button class="uw-bf-share-btn uw-bf-copy-btn" data-url="<?php echo get_permalink(); ?>" aria-label="Copy link">
<svg width="15" height="11" viewBox="0 0 15 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M13.1713 5.42406C14.4955 4.18261 14.4955 2.17211 13.1713 0.930656C11.9994 -0.167977 10.1525 -0.310799 8.80488 0.592277L8.76738 0.616447C8.42988 0.842765 8.35254 1.28222 8.59394 1.59643C8.83535 1.91064 9.3041 1.98534 9.63926 1.75902L9.67676 1.73485C10.4291 1.23168 11.458 1.31078 12.1096 1.92382C12.8479 2.61596 12.8479 3.73656 12.1096 4.4287L9.47988 6.89843C8.7416 7.59057 7.54629 7.59057 6.80801 6.89843C6.1541 6.28539 6.06973 5.32079 6.60645 4.61767L6.63223 4.58251C6.87363 4.26611 6.79394 3.82665 6.45879 3.60253C6.12363 3.37841 5.65254 3.45092 5.41348 3.76513L5.3877 3.80028C4.42207 5.06152 4.57441 6.79296 5.74629 7.89159C7.07051 9.13305 9.21504 9.13305 10.5393 7.89159L13.1713 5.42406ZM0.993164 4.9099C-0.331055 6.15136 -0.331055 8.16186 0.993164 9.40331C2.16504 10.5019 4.01191 10.6448 5.35957 9.74169L5.39707 9.71752C5.73457 9.4912 5.81191 9.05175 5.57051 8.73754C5.3291 8.42333 4.86035 8.34863 4.5252 8.57494L4.4877 8.59911C3.73535 9.10229 2.70645 9.02319 2.05488 8.41015C1.3166 7.71581 1.3166 6.59521 2.05488 5.90307L4.68457 3.43554C5.42285 2.7434 6.61816 2.7434 7.35645 3.43554C8.01035 4.04858 8.09473 5.01318 7.55801 5.7185L7.53223 5.75365C7.29082 6.07006 7.37051 6.50951 7.70566 6.73363C8.04082 6.95776 8.51191 6.88525 8.75098 6.57104L8.77676 6.53588C9.74238 5.27245 9.59004 3.54101 8.41816 2.44237C7.09395 1.20092 4.94941 1.20092 3.6252 2.44237L0.993164 4.9099Z" fill="#75808E"/></svg>
<div class="uw-bf-copy-notify">Link copied</div>
</button>
</div>
</div>.uw-bf-copy-notify {
opacity: 0;
visibility: hidden;
transition: opacity 0.2s ease, visibility 0.2s ease;
}
.uw-bf-copy-btn.is-copied .uw-bf-copy-notify {
opacity: 1;
visibility: visible;
}document.addEventListener('click', async (event) => {
const button = event.target.closest('.uw-bf-copy-btn');
if (!button) {
return;
}
const url = button.dataset.url;
try {
await navigator.clipboard.writeText(url);
button.classList.add('is-copied');
setTimeout(() => {
button.classList.remove('is-copied');
}, 2000);
} catch (error) {
console.error('COPY ERROR:', error);
}
});
What is ASPM? Application security posture management explained
<?php
$post_id = get_the_ID();
$author_terms = get_the_terms( $post_id, 'author_tax' );
$authors = [];
if ( $author_terms && ! is_wp_error( $author_terms ) ) {
foreach ( $author_terms as $term ) {
$photo_id = get_field(
'author_photo',
'author_tax_' . $term->term_id
);
$authors[] = [
'name' => $term->name,
'url' => get_term_link( $term->term_id ),
'photo' => $photo_id
? wp_get_attachment_image_url( $photo_id, 'author-image' )
: '',
];
}
}
?>
<div class="uw-bf-card__meta">
<?php if ( count( $authors ) > 0 ) { ?>
<div class="uw-bf-card__author-photos">
<?php foreach ( $authors as $author ) { ?>
<a
href="<?php echo esc_url( $author['url'] ); ?>"
class="uw-bf-card__author-photo-link"
>
<img
class="uw-bf-card__author-photo"
src="<?php echo esc_url( $author['photo'] ); ?>"
alt="<?php echo esc_attr( $author['name'] ); ?>"
>
</a>
<?php } ?>
</div>
<?php } ?>
<div class="uw-bf-card__meta-sub">
<span class="uw-bf-card__author-names">
<?php echo getAuthorNames( $authors ); ?>
</span>
<span class="uw-bf-card__date">
<?php echo get_the_date( 'F d, Y', $post_id ); ?>
</span>
</div>
</div>.brxe-qhtnal{
.uw-bf-card__author-photo, .uw-bf-card__author-photo-link {
width: 53px;
height: 53px;
}
}Updated on November 4, 2026Application security posture management (ASPM) is a category of security tooling that collects findings from the security tools across your software lifecycle, maps them to the applications, services and owners they affect, and ranks them by real risk so teams fix the most dangerous issues first. An ASPM platform does not…
Read More
<?php $url = get_permalink(); ?>
<?php $title = get_the_title(); ?>
<div class="uw-bf-card__share">
<a class="uw-bf-share-btn" href="https://www.linkedin.com/shareArticle?mini=true&url=<?php echo urlencode($url) . '&title=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on LinkedIn"><svg width="12" height="11" viewBox="0 0 12 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2.51819 10.9373H0.185826V3.63501H2.51819V10.9373ZM1.35075 2.63892C0.604939 2.63892 0 2.03833 0 1.31323C5.33822e-09 0.964941 0.142311 0.630916 0.395626 0.384637C0.648942 0.138358 0.992511 0 1.35075 0C1.709 0 2.05256 0.138358 2.30588 0.384637C2.5592 0.630916 2.70151 0.964941 2.70151 1.31323C2.70151 2.03833 2.09632 2.63892 1.35075 2.63892ZM11.2475 10.9373H8.92015V7.38257C8.92015 6.5354 8.90257 5.44897 7.70751 5.44897C6.49487 5.44897 6.30904 6.36938 6.30904 7.32153V10.9373H3.97919V3.63501H6.21613V4.6311H6.24877C6.56016 4.05737 7.32079 3.4519 8.45558 3.4519C10.8161 3.4519 11.25 4.96313 11.25 6.92603V10.9373H11.2475Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://twitter.com/intent/tweet?url=<?php echo rawurlencode($url) . '&text=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on X"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.3319 5.92804L13.5437 0H12.3087L7.78327 5.14724L4.16883 0H0L5.46574 7.78354L0 14H1.2351L6.01406 8.56434L9.83117 14H14L8.3316 5.92804H8.3319ZM6.64026 7.85211L6.08647 7.07705L1.68013 0.909776H3.57717L7.13314 5.88696L7.68693 6.66202L12.3093 13.1316H10.4122L6.64026 7.85241V7.85211Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://www.facebook.com/sharer/sharer.php?u=<?php echo urlencode($url); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on Facebook"><svg width="7" height="14" viewBox="0 0 7 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6.00586 7.73438L6.33914 5.24595H4.25531V3.63113C4.25531 2.95034 4.54641 2.28674 5.47969 2.28674H6.42703V0.168115C6.42703 0.168115 5.56734 0 4.74539 0C3.0293 0 1.90758 1.19185 1.90758 3.34941V5.24595H0V7.73438H1.90758V13.75H4.25531V7.73438H6.00586Z" fill="#75808E"/></svg></a>
<div class="uw-bf-copy-wrap">
<button class="uw-bf-share-btn uw-bf-copy-btn" data-url="<?php echo get_permalink(); ?>" aria-label="Copy link">
<svg width="15" height="11" viewBox="0 0 15 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M13.1713 5.42406C14.4955 4.18261 14.4955 2.17211 13.1713 0.930656C11.9994 -0.167977 10.1525 -0.310799 8.80488 0.592277L8.76738 0.616447C8.42988 0.842765 8.35254 1.28222 8.59394 1.59643C8.83535 1.91064 9.3041 1.98534 9.63926 1.75902L9.67676 1.73485C10.4291 1.23168 11.458 1.31078 12.1096 1.92382C12.8479 2.61596 12.8479 3.73656 12.1096 4.4287L9.47988 6.89843C8.7416 7.59057 7.54629 7.59057 6.80801 6.89843C6.1541 6.28539 6.06973 5.32079 6.60645 4.61767L6.63223 4.58251C6.87363 4.26611 6.79394 3.82665 6.45879 3.60253C6.12363 3.37841 5.65254 3.45092 5.41348 3.76513L5.3877 3.80028C4.42207 5.06152 4.57441 6.79296 5.74629 7.89159C7.07051 9.13305 9.21504 9.13305 10.5393 7.89159L13.1713 5.42406ZM0.993164 4.9099C-0.331055 6.15136 -0.331055 8.16186 0.993164 9.40331C2.16504 10.5019 4.01191 10.6448 5.35957 9.74169L5.39707 9.71752C5.73457 9.4912 5.81191 9.05175 5.57051 8.73754C5.3291 8.42333 4.86035 8.34863 4.5252 8.57494L4.4877 8.59911C3.73535 9.10229 2.70645 9.02319 2.05488 8.41015C1.3166 7.71581 1.3166 6.59521 2.05488 5.90307L4.68457 3.43554C5.42285 2.7434 6.61816 2.7434 7.35645 3.43554C8.01035 4.04858 8.09473 5.01318 7.55801 5.7185L7.53223 5.75365C7.29082 6.07006 7.37051 6.50951 7.70566 6.73363C8.04082 6.95776 8.51191 6.88525 8.75098 6.57104L8.77676 6.53588C9.74238 5.27245 9.59004 3.54101 8.41816 2.44237C7.09395 1.20092 4.94941 1.20092 3.6252 2.44237L0.993164 4.9099Z" fill="#75808E"/></svg>
<div class="uw-bf-copy-notify">Link copied</div>
</button>
</div>
</div>.uw-bf-copy-notify {
opacity: 0;
visibility: hidden;
transition: opacity 0.2s ease, visibility 0.2s ease;
}
.uw-bf-copy-btn.is-copied .uw-bf-copy-notify {
opacity: 1;
visibility: visible;
}document.addEventListener('click', async (event) => {
const button = event.target.closest('.uw-bf-copy-btn');
if (!button) {
return;
}
const url = button.dataset.url;
try {
await navigator.clipboard.writeText(url);
button.classList.add('is-copied');
setTimeout(() => {
button.classList.remove('is-copied');
}, 2000);
} catch (error) {
console.error('COPY ERROR:', error);
}
});
10 best software composition analysis (SCA) tools for 2026
<?php
$post_id = get_the_ID();
$author_terms = get_the_terms( $post_id, 'author_tax' );
$authors = [];
if ( $author_terms && ! is_wp_error( $author_terms ) ) {
foreach ( $author_terms as $term ) {
$photo_id = get_field(
'author_photo',
'author_tax_' . $term->term_id
);
$authors[] = [
'name' => $term->name,
'url' => get_term_link( $term->term_id ),
'photo' => $photo_id
? wp_get_attachment_image_url( $photo_id, 'author-image' )
: '',
];
}
}
?>
<div class="uw-bf-card__meta">
<?php if ( count( $authors ) > 0 ) { ?>
<div class="uw-bf-card__author-photos">
<?php foreach ( $authors as $author ) { ?>
<a
href="<?php echo esc_url( $author['url'] ); ?>"
class="uw-bf-card__author-photo-link"
>
<img
class="uw-bf-card__author-photo"
src="<?php echo esc_url( $author['photo'] ); ?>"
alt="<?php echo esc_attr( $author['name'] ); ?>"
>
</a>
<?php } ?>
</div>
<?php } ?>
<div class="uw-bf-card__meta-sub">
<span class="uw-bf-card__author-names">
<?php echo getAuthorNames( $authors ); ?>
</span>
<span class="uw-bf-card__date">
<?php echo get_the_date( 'F d, Y', $post_id ); ?>
</span>
</div>
</div>.brxe-qhtnal{
.uw-bf-card__author-photo, .uw-bf-card__author-photo-link {
width: 53px;
height: 53px;
}
}Updated on November 4, 2026The best software composition analysis (SCA) tools for 2026 inventory every open-source and third-party component in your code and containers, match each one against vulnerability and license data, and tell you which findings to fix first. Modern applications are assembled more than written, so your team owns the risk of code…
Read More
<?php $url = get_permalink(); ?>
<?php $title = get_the_title(); ?>
<div class="uw-bf-card__share">
<a class="uw-bf-share-btn" href="https://www.linkedin.com/shareArticle?mini=true&url=<?php echo urlencode($url) . '&title=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on LinkedIn"><svg width="12" height="11" viewBox="0 0 12 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2.51819 10.9373H0.185826V3.63501H2.51819V10.9373ZM1.35075 2.63892C0.604939 2.63892 0 2.03833 0 1.31323C5.33822e-09 0.964941 0.142311 0.630916 0.395626 0.384637C0.648942 0.138358 0.992511 0 1.35075 0C1.709 0 2.05256 0.138358 2.30588 0.384637C2.5592 0.630916 2.70151 0.964941 2.70151 1.31323C2.70151 2.03833 2.09632 2.63892 1.35075 2.63892ZM11.2475 10.9373H8.92015V7.38257C8.92015 6.5354 8.90257 5.44897 7.70751 5.44897C6.49487 5.44897 6.30904 6.36938 6.30904 7.32153V10.9373H3.97919V3.63501H6.21613V4.6311H6.24877C6.56016 4.05737 7.32079 3.4519 8.45558 3.4519C10.8161 3.4519 11.25 4.96313 11.25 6.92603V10.9373H11.2475Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://twitter.com/intent/tweet?url=<?php echo rawurlencode($url) . '&text=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on X"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.3319 5.92804L13.5437 0H12.3087L7.78327 5.14724L4.16883 0H0L5.46574 7.78354L0 14H1.2351L6.01406 8.56434L9.83117 14H14L8.3316 5.92804H8.3319ZM6.64026 7.85211L6.08647 7.07705L1.68013 0.909776H3.57717L7.13314 5.88696L7.68693 6.66202L12.3093 13.1316H10.4122L6.64026 7.85241V7.85211Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://www.facebook.com/sharer/sharer.php?u=<?php echo urlencode($url); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on Facebook"><svg width="7" height="14" viewBox="0 0 7 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6.00586 7.73438L6.33914 5.24595H4.25531V3.63113C4.25531 2.95034 4.54641 2.28674 5.47969 2.28674H6.42703V0.168115C6.42703 0.168115 5.56734 0 4.74539 0C3.0293 0 1.90758 1.19185 1.90758 3.34941V5.24595H0V7.73438H1.90758V13.75H4.25531V7.73438H6.00586Z" fill="#75808E"/></svg></a>
<div class="uw-bf-copy-wrap">
<button class="uw-bf-share-btn uw-bf-copy-btn" data-url="<?php echo get_permalink(); ?>" aria-label="Copy link">
<svg width="15" height="11" viewBox="0 0 15 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M13.1713 5.42406C14.4955 4.18261 14.4955 2.17211 13.1713 0.930656C11.9994 -0.167977 10.1525 -0.310799 8.80488 0.592277L8.76738 0.616447C8.42988 0.842765 8.35254 1.28222 8.59394 1.59643C8.83535 1.91064 9.3041 1.98534 9.63926 1.75902L9.67676 1.73485C10.4291 1.23168 11.458 1.31078 12.1096 1.92382C12.8479 2.61596 12.8479 3.73656 12.1096 4.4287L9.47988 6.89843C8.7416 7.59057 7.54629 7.59057 6.80801 6.89843C6.1541 6.28539 6.06973 5.32079 6.60645 4.61767L6.63223 4.58251C6.87363 4.26611 6.79394 3.82665 6.45879 3.60253C6.12363 3.37841 5.65254 3.45092 5.41348 3.76513L5.3877 3.80028C4.42207 5.06152 4.57441 6.79296 5.74629 7.89159C7.07051 9.13305 9.21504 9.13305 10.5393 7.89159L13.1713 5.42406ZM0.993164 4.9099C-0.331055 6.15136 -0.331055 8.16186 0.993164 9.40331C2.16504 10.5019 4.01191 10.6448 5.35957 9.74169L5.39707 9.71752C5.73457 9.4912 5.81191 9.05175 5.57051 8.73754C5.3291 8.42333 4.86035 8.34863 4.5252 8.57494L4.4877 8.59911C3.73535 9.10229 2.70645 9.02319 2.05488 8.41015C1.3166 7.71581 1.3166 6.59521 2.05488 5.90307L4.68457 3.43554C5.42285 2.7434 6.61816 2.7434 7.35645 3.43554C8.01035 4.04858 8.09473 5.01318 7.55801 5.7185L7.53223 5.75365C7.29082 6.07006 7.37051 6.50951 7.70566 6.73363C8.04082 6.95776 8.51191 6.88525 8.75098 6.57104L8.77676 6.53588C9.74238 5.27245 9.59004 3.54101 8.41816 2.44237C7.09395 1.20092 4.94941 1.20092 3.6252 2.44237L0.993164 4.9099Z" fill="#75808E"/></svg>
<div class="uw-bf-copy-notify">Link copied</div>
</button>
</div>
</div>.uw-bf-copy-notify {
opacity: 0;
visibility: hidden;
transition: opacity 0.2s ease, visibility 0.2s ease;
}
.uw-bf-copy-btn.is-copied .uw-bf-copy-notify {
opacity: 1;
visibility: visible;
}document.addEventListener('click', async (event) => {
const button = event.target.closest('.uw-bf-copy-btn');
if (!button) {
return;
}
const url = button.dataset.url;
try {
await navigator.clipboard.writeText(url);
button.classList.add('is-copied');
setTimeout(() => {
button.classList.remove('is-copied');
}, 2000);
} catch (error) {
console.error('COPY ERROR:', error);
}
});
Top 12 CI/CD security tools for 2026 to protect your pipeline
<?php
$post_id = get_the_ID();
$author_terms = get_the_terms( $post_id, 'author_tax' );
$authors = [];
if ( $author_terms && ! is_wp_error( $author_terms ) ) {
foreach ( $author_terms as $term ) {
$photo_id = get_field(
'author_photo',
'author_tax_' . $term->term_id
);
$authors[] = [
'name' => $term->name,
'url' => get_term_link( $term->term_id ),
'photo' => $photo_id
? wp_get_attachment_image_url( $photo_id, 'author-image' )
: '',
];
}
}
?>
<div class="uw-bf-card__meta">
<?php if ( count( $authors ) > 0 ) { ?>
<div class="uw-bf-card__author-photos">
<?php foreach ( $authors as $author ) { ?>
<a
href="<?php echo esc_url( $author['url'] ); ?>"
class="uw-bf-card__author-photo-link"
>
<img
class="uw-bf-card__author-photo"
src="<?php echo esc_url( $author['photo'] ); ?>"
alt="<?php echo esc_attr( $author['name'] ); ?>"
>
</a>
<?php } ?>
</div>
<?php } ?>
<div class="uw-bf-card__meta-sub">
<span class="uw-bf-card__author-names">
<?php echo getAuthorNames( $authors ); ?>
</span>
<span class="uw-bf-card__date">
<?php echo get_the_date( 'F d, Y', $post_id ); ?>
</span>
</div>
</div>.brxe-qhtnal{
.uw-bf-card__author-photo, .uw-bf-card__author-photo-link {
width: 53px;
height: 53px;
}
}Updated on November 4, 2026CI/CD security tools are the scanners, signers and policy engines that check code, dependencies, infrastructure definitions, container images and the pipeline itself at each stage from commit to deploy. Good tools run inside the jobs developers already trigger, return results in minutes, and fail a build only when a finding actually…
Read More
<?php $url = get_permalink(); ?>
<?php $title = get_the_title(); ?>
<div class="uw-bf-card__share">
<a class="uw-bf-share-btn" href="https://www.linkedin.com/shareArticle?mini=true&url=<?php echo urlencode($url) . '&title=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on LinkedIn"><svg width="12" height="11" viewBox="0 0 12 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2.51819 10.9373H0.185826V3.63501H2.51819V10.9373ZM1.35075 2.63892C0.604939 2.63892 0 2.03833 0 1.31323C5.33822e-09 0.964941 0.142311 0.630916 0.395626 0.384637C0.648942 0.138358 0.992511 0 1.35075 0C1.709 0 2.05256 0.138358 2.30588 0.384637C2.5592 0.630916 2.70151 0.964941 2.70151 1.31323C2.70151 2.03833 2.09632 2.63892 1.35075 2.63892ZM11.2475 10.9373H8.92015V7.38257C8.92015 6.5354 8.90257 5.44897 7.70751 5.44897C6.49487 5.44897 6.30904 6.36938 6.30904 7.32153V10.9373H3.97919V3.63501H6.21613V4.6311H6.24877C6.56016 4.05737 7.32079 3.4519 8.45558 3.4519C10.8161 3.4519 11.25 4.96313 11.25 6.92603V10.9373H11.2475Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://twitter.com/intent/tweet?url=<?php echo rawurlencode($url) . '&text=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on X"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.3319 5.92804L13.5437 0H12.3087L7.78327 5.14724L4.16883 0H0L5.46574 7.78354L0 14H1.2351L6.01406 8.56434L9.83117 14H14L8.3316 5.92804H8.3319ZM6.64026 7.85211L6.08647 7.07705L1.68013 0.909776H3.57717L7.13314 5.88696L7.68693 6.66202L12.3093 13.1316H10.4122L6.64026 7.85241V7.85211Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://www.facebook.com/sharer/sharer.php?u=<?php echo urlencode($url); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on Facebook"><svg width="7" height="14" viewBox="0 0 7 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6.00586 7.73438L6.33914 5.24595H4.25531V3.63113C4.25531 2.95034 4.54641 2.28674 5.47969 2.28674H6.42703V0.168115C6.42703 0.168115 5.56734 0 4.74539 0C3.0293 0 1.90758 1.19185 1.90758 3.34941V5.24595H0V7.73438H1.90758V13.75H4.25531V7.73438H6.00586Z" fill="#75808E"/></svg></a>
<div class="uw-bf-copy-wrap">
<button class="uw-bf-share-btn uw-bf-copy-btn" data-url="<?php echo get_permalink(); ?>" aria-label="Copy link">
<svg width="15" height="11" viewBox="0 0 15 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M13.1713 5.42406C14.4955 4.18261 14.4955 2.17211 13.1713 0.930656C11.9994 -0.167977 10.1525 -0.310799 8.80488 0.592277L8.76738 0.616447C8.42988 0.842765 8.35254 1.28222 8.59394 1.59643C8.83535 1.91064 9.3041 1.98534 9.63926 1.75902L9.67676 1.73485C10.4291 1.23168 11.458 1.31078 12.1096 1.92382C12.8479 2.61596 12.8479 3.73656 12.1096 4.4287L9.47988 6.89843C8.7416 7.59057 7.54629 7.59057 6.80801 6.89843C6.1541 6.28539 6.06973 5.32079 6.60645 4.61767L6.63223 4.58251C6.87363 4.26611 6.79394 3.82665 6.45879 3.60253C6.12363 3.37841 5.65254 3.45092 5.41348 3.76513L5.3877 3.80028C4.42207 5.06152 4.57441 6.79296 5.74629 7.89159C7.07051 9.13305 9.21504 9.13305 10.5393 7.89159L13.1713 5.42406ZM0.993164 4.9099C-0.331055 6.15136 -0.331055 8.16186 0.993164 9.40331C2.16504 10.5019 4.01191 10.6448 5.35957 9.74169L5.39707 9.71752C5.73457 9.4912 5.81191 9.05175 5.57051 8.73754C5.3291 8.42333 4.86035 8.34863 4.5252 8.57494L4.4877 8.59911C3.73535 9.10229 2.70645 9.02319 2.05488 8.41015C1.3166 7.71581 1.3166 6.59521 2.05488 5.90307L4.68457 3.43554C5.42285 2.7434 6.61816 2.7434 7.35645 3.43554C8.01035 4.04858 8.09473 5.01318 7.55801 5.7185L7.53223 5.75365C7.29082 6.07006 7.37051 6.50951 7.70566 6.73363C8.04082 6.95776 8.51191 6.88525 8.75098 6.57104L8.77676 6.53588C9.74238 5.27245 9.59004 3.54101 8.41816 2.44237C7.09395 1.20092 4.94941 1.20092 3.6252 2.44237L0.993164 4.9099Z" fill="#75808E"/></svg>
<div class="uw-bf-copy-notify">Link copied</div>
</button>
</div>
</div>.uw-bf-copy-notify {
opacity: 0;
visibility: hidden;
transition: opacity 0.2s ease, visibility 0.2s ease;
}
.uw-bf-copy-btn.is-copied .uw-bf-copy-notify {
opacity: 1;
visibility: visible;
}document.addEventListener('click', async (event) => {
const button = event.target.closest('.uw-bf-copy-btn');
if (!button) {
return;
}
const url = button.dataset.url;
try {
await navigator.clipboard.writeText(url);
button.classList.add('is-copied');
setTimeout(() => {
button.classList.remove('is-copied');
}, 2000);
} catch (error) {
console.error('COPY ERROR:', error);
}
});
SAST Fundamentals for Securing Source Code
<?php
$post_id = get_the_ID();
$author_terms = get_the_terms( $post_id, 'author_tax' );
$authors = [];
if ( $author_terms && ! is_wp_error( $author_terms ) ) {
foreach ( $author_terms as $term ) {
$photo_id = get_field(
'author_photo',
'author_tax_' . $term->term_id
);
$authors[] = [
'name' => $term->name,
'url' => get_term_link( $term->term_id ),
'photo' => $photo_id
? wp_get_attachment_image_url( $photo_id, 'author-image' )
: '',
];
}
}
?>
<div class="uw-bf-card__meta">
<?php if ( count( $authors ) > 0 ) { ?>
<div class="uw-bf-card__author-photos">
<?php foreach ( $authors as $author ) { ?>
<a
href="<?php echo esc_url( $author['url'] ); ?>"
class="uw-bf-card__author-photo-link"
>
<img
class="uw-bf-card__author-photo"
src="<?php echo esc_url( $author['photo'] ); ?>"
alt="<?php echo esc_attr( $author['name'] ); ?>"
>
</a>
<?php } ?>
</div>
<?php } ?>
<div class="uw-bf-card__meta-sub">
<span class="uw-bf-card__author-names">
<?php echo getAuthorNames( $authors ); ?>
</span>
<span class="uw-bf-card__date">
<?php echo get_the_date( 'F d, Y', $post_id ); ?>
</span>
</div>
</div>.brxe-qhtnal{
.uw-bf-card__author-photo, .uw-bf-card__author-photo-link {
width: 53px;
height: 53px;
}
}Developers use SAST (Static Application Security Testing) to safeguard code before deployment, making for better coding practices from the start. But using SAST fundamentals for securing source code isn’t a perfect solution, and apart from building team buy-in and expertise, leaders will find they’re contending with secondary challenges as well: compliance requirements, depth of coverage,…
Read More
<?php $url = get_permalink(); ?>
<?php $title = get_the_title(); ?>
<div class="uw-bf-card__share">
<a class="uw-bf-share-btn" href="https://www.linkedin.com/shareArticle?mini=true&url=<?php echo urlencode($url) . '&title=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on LinkedIn"><svg width="12" height="11" viewBox="0 0 12 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2.51819 10.9373H0.185826V3.63501H2.51819V10.9373ZM1.35075 2.63892C0.604939 2.63892 0 2.03833 0 1.31323C5.33822e-09 0.964941 0.142311 0.630916 0.395626 0.384637C0.648942 0.138358 0.992511 0 1.35075 0C1.709 0 2.05256 0.138358 2.30588 0.384637C2.5592 0.630916 2.70151 0.964941 2.70151 1.31323C2.70151 2.03833 2.09632 2.63892 1.35075 2.63892ZM11.2475 10.9373H8.92015V7.38257C8.92015 6.5354 8.90257 5.44897 7.70751 5.44897C6.49487 5.44897 6.30904 6.36938 6.30904 7.32153V10.9373H3.97919V3.63501H6.21613V4.6311H6.24877C6.56016 4.05737 7.32079 3.4519 8.45558 3.4519C10.8161 3.4519 11.25 4.96313 11.25 6.92603V10.9373H11.2475Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://twitter.com/intent/tweet?url=<?php echo rawurlencode($url) . '&text=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on X"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.3319 5.92804L13.5437 0H12.3087L7.78327 5.14724L4.16883 0H0L5.46574 7.78354L0 14H1.2351L6.01406 8.56434L9.83117 14H14L8.3316 5.92804H8.3319ZM6.64026 7.85211L6.08647 7.07705L1.68013 0.909776H3.57717L7.13314 5.88696L7.68693 6.66202L12.3093 13.1316H10.4122L6.64026 7.85241V7.85211Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://www.facebook.com/sharer/sharer.php?u=<?php echo urlencode($url); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on Facebook"><svg width="7" height="14" viewBox="0 0 7 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6.00586 7.73438L6.33914 5.24595H4.25531V3.63113C4.25531 2.95034 4.54641 2.28674 5.47969 2.28674H6.42703V0.168115C6.42703 0.168115 5.56734 0 4.74539 0C3.0293 0 1.90758 1.19185 1.90758 3.34941V5.24595H0V7.73438H1.90758V13.75H4.25531V7.73438H6.00586Z" fill="#75808E"/></svg></a>
<div class="uw-bf-copy-wrap">
<button class="uw-bf-share-btn uw-bf-copy-btn" data-url="<?php echo get_permalink(); ?>" aria-label="Copy link">
<svg width="15" height="11" viewBox="0 0 15 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M13.1713 5.42406C14.4955 4.18261 14.4955 2.17211 13.1713 0.930656C11.9994 -0.167977 10.1525 -0.310799 8.80488 0.592277L8.76738 0.616447C8.42988 0.842765 8.35254 1.28222 8.59394 1.59643C8.83535 1.91064 9.3041 1.98534 9.63926 1.75902L9.67676 1.73485C10.4291 1.23168 11.458 1.31078 12.1096 1.92382C12.8479 2.61596 12.8479 3.73656 12.1096 4.4287L9.47988 6.89843C8.7416 7.59057 7.54629 7.59057 6.80801 6.89843C6.1541 6.28539 6.06973 5.32079 6.60645 4.61767L6.63223 4.58251C6.87363 4.26611 6.79394 3.82665 6.45879 3.60253C6.12363 3.37841 5.65254 3.45092 5.41348 3.76513L5.3877 3.80028C4.42207 5.06152 4.57441 6.79296 5.74629 7.89159C7.07051 9.13305 9.21504 9.13305 10.5393 7.89159L13.1713 5.42406ZM0.993164 4.9099C-0.331055 6.15136 -0.331055 8.16186 0.993164 9.40331C2.16504 10.5019 4.01191 10.6448 5.35957 9.74169L5.39707 9.71752C5.73457 9.4912 5.81191 9.05175 5.57051 8.73754C5.3291 8.42333 4.86035 8.34863 4.5252 8.57494L4.4877 8.59911C3.73535 9.10229 2.70645 9.02319 2.05488 8.41015C1.3166 7.71581 1.3166 6.59521 2.05488 5.90307L4.68457 3.43554C5.42285 2.7434 6.61816 2.7434 7.35645 3.43554C8.01035 4.04858 8.09473 5.01318 7.55801 5.7185L7.53223 5.75365C7.29082 6.07006 7.37051 6.50951 7.70566 6.73363C8.04082 6.95776 8.51191 6.88525 8.75098 6.57104L8.77676 6.53588C9.74238 5.27245 9.59004 3.54101 8.41816 2.44237C7.09395 1.20092 4.94941 1.20092 3.6252 2.44237L0.993164 4.9099Z" fill="#75808E"/></svg>
<div class="uw-bf-copy-notify">Link copied</div>
</button>
</div>
</div>.uw-bf-copy-notify {
opacity: 0;
visibility: hidden;
transition: opacity 0.2s ease, visibility 0.2s ease;
}
.uw-bf-copy-btn.is-copied .uw-bf-copy-notify {
opacity: 1;
visibility: visible;
}document.addEventListener('click', async (event) => {
const button = event.target.closest('.uw-bf-copy-btn');
if (!button) {
return;
}
const url = button.dataset.url;
try {
await navigator.clipboard.writeText(url);
button.classList.add('is-copied');
setTimeout(() => {
button.classList.remove('is-copied');
}, 2000);
} catch (error) {
console.error('COPY ERROR:', error);
}
});
What is the Linux Kernel?
<?php
$post_id = get_the_ID();
$author_terms = get_the_terms( $post_id, 'author_tax' );
$authors = [];
if ( $author_terms && ! is_wp_error( $author_terms ) ) {
foreach ( $author_terms as $term ) {
$photo_id = get_field(
'author_photo',
'author_tax_' . $term->term_id
);
$authors[] = [
'name' => $term->name,
'url' => get_term_link( $term->term_id ),
'photo' => $photo_id
? wp_get_attachment_image_url( $photo_id, 'author-image' )
: '',
];
}
}
?>
<div class="uw-bf-card__meta">
<?php if ( count( $authors ) > 0 ) { ?>
<div class="uw-bf-card__author-photos">
<?php foreach ( $authors as $author ) { ?>
<a
href="<?php echo esc_url( $author['url'] ); ?>"
class="uw-bf-card__author-photo-link"
>
<img
class="uw-bf-card__author-photo"
src="<?php echo esc_url( $author['photo'] ); ?>"
alt="<?php echo esc_attr( $author['name'] ); ?>"
>
</a>
<?php } ?>
</div>
<?php } ?>
<div class="uw-bf-card__meta-sub">
<span class="uw-bf-card__author-names">
<?php echo getAuthorNames( $authors ); ?>
</span>
<span class="uw-bf-card__date">
<?php echo get_the_date( 'F d, Y', $post_id ); ?>
</span>
</div>
</div>.brxe-qhtnal{
.uw-bf-card__author-photo, .uw-bf-card__author-photo-link {
width: 53px;
height: 53px;
}
}As organizational infrastructures shift toward more complex hybrid cloud or containerized environments, the Linux kernel might be brought into hyperfocus. After all, its kernel-level vulnerabilities can be the most critical entry points for attackers. And with the growing adoption of microservices and containers, how the Linux kernel handles them can become a critical point of…
Read More
<?php $url = get_permalink(); ?>
<?php $title = get_the_title(); ?>
<div class="uw-bf-card__share">
<a class="uw-bf-share-btn" href="https://www.linkedin.com/shareArticle?mini=true&url=<?php echo urlencode($url) . '&title=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on LinkedIn"><svg width="12" height="11" viewBox="0 0 12 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2.51819 10.9373H0.185826V3.63501H2.51819V10.9373ZM1.35075 2.63892C0.604939 2.63892 0 2.03833 0 1.31323C5.33822e-09 0.964941 0.142311 0.630916 0.395626 0.384637C0.648942 0.138358 0.992511 0 1.35075 0C1.709 0 2.05256 0.138358 2.30588 0.384637C2.5592 0.630916 2.70151 0.964941 2.70151 1.31323C2.70151 2.03833 2.09632 2.63892 1.35075 2.63892ZM11.2475 10.9373H8.92015V7.38257C8.92015 6.5354 8.90257 5.44897 7.70751 5.44897C6.49487 5.44897 6.30904 6.36938 6.30904 7.32153V10.9373H3.97919V3.63501H6.21613V4.6311H6.24877C6.56016 4.05737 7.32079 3.4519 8.45558 3.4519C10.8161 3.4519 11.25 4.96313 11.25 6.92603V10.9373H11.2475Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://twitter.com/intent/tweet?url=<?php echo rawurlencode($url) . '&text=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on X"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.3319 5.92804L13.5437 0H12.3087L7.78327 5.14724L4.16883 0H0L5.46574 7.78354L0 14H1.2351L6.01406 8.56434L9.83117 14H14L8.3316 5.92804H8.3319ZM6.64026 7.85211L6.08647 7.07705L1.68013 0.909776H3.57717L7.13314 5.88696L7.68693 6.66202L12.3093 13.1316H10.4122L6.64026 7.85241V7.85211Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://www.facebook.com/sharer/sharer.php?u=<?php echo urlencode($url); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on Facebook"><svg width="7" height="14" viewBox="0 0 7 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6.00586 7.73438L6.33914 5.24595H4.25531V3.63113C4.25531 2.95034 4.54641 2.28674 5.47969 2.28674H6.42703V0.168115C6.42703 0.168115 5.56734 0 4.74539 0C3.0293 0 1.90758 1.19185 1.90758 3.34941V5.24595H0V7.73438H1.90758V13.75H4.25531V7.73438H6.00586Z" fill="#75808E"/></svg></a>
<div class="uw-bf-copy-wrap">
<button class="uw-bf-share-btn uw-bf-copy-btn" data-url="<?php echo get_permalink(); ?>" aria-label="Copy link">
<svg width="15" height="11" viewBox="0 0 15 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M13.1713 5.42406C14.4955 4.18261 14.4955 2.17211 13.1713 0.930656C11.9994 -0.167977 10.1525 -0.310799 8.80488 0.592277L8.76738 0.616447C8.42988 0.842765 8.35254 1.28222 8.59394 1.59643C8.83535 1.91064 9.3041 1.98534 9.63926 1.75902L9.67676 1.73485C10.4291 1.23168 11.458 1.31078 12.1096 1.92382C12.8479 2.61596 12.8479 3.73656 12.1096 4.4287L9.47988 6.89843C8.7416 7.59057 7.54629 7.59057 6.80801 6.89843C6.1541 6.28539 6.06973 5.32079 6.60645 4.61767L6.63223 4.58251C6.87363 4.26611 6.79394 3.82665 6.45879 3.60253C6.12363 3.37841 5.65254 3.45092 5.41348 3.76513L5.3877 3.80028C4.42207 5.06152 4.57441 6.79296 5.74629 7.89159C7.07051 9.13305 9.21504 9.13305 10.5393 7.89159L13.1713 5.42406ZM0.993164 4.9099C-0.331055 6.15136 -0.331055 8.16186 0.993164 9.40331C2.16504 10.5019 4.01191 10.6448 5.35957 9.74169L5.39707 9.71752C5.73457 9.4912 5.81191 9.05175 5.57051 8.73754C5.3291 8.42333 4.86035 8.34863 4.5252 8.57494L4.4877 8.59911C3.73535 9.10229 2.70645 9.02319 2.05488 8.41015C1.3166 7.71581 1.3166 6.59521 2.05488 5.90307L4.68457 3.43554C5.42285 2.7434 6.61816 2.7434 7.35645 3.43554C8.01035 4.04858 8.09473 5.01318 7.55801 5.7185L7.53223 5.75365C7.29082 6.07006 7.37051 6.50951 7.70566 6.73363C8.04082 6.95776 8.51191 6.88525 8.75098 6.57104L8.77676 6.53588C9.74238 5.27245 9.59004 3.54101 8.41816 2.44237C7.09395 1.20092 4.94941 1.20092 3.6252 2.44237L0.993164 4.9099Z" fill="#75808E"/></svg>
<div class="uw-bf-copy-notify">Link copied</div>
</button>
</div>
</div>.uw-bf-copy-notify {
opacity: 0;
visibility: hidden;
transition: opacity 0.2s ease, visibility 0.2s ease;
}
.uw-bf-copy-btn.is-copied .uw-bf-copy-notify {
opacity: 1;
visibility: visible;
}document.addEventListener('click', async (event) => {
const button = event.target.closest('.uw-bf-copy-btn');
if (!button) {
return;
}
const url = button.dataset.url;
try {
await navigator.clipboard.writeText(url);
button.classList.add('is-copied');
setTimeout(() => {
button.classList.remove('is-copied');
}, 2000);
} catch (error) {
console.error('COPY ERROR:', error);
}
});
Best Open-Source DevSecOps Tools in 2025
<?php
$post_id = get_the_ID();
$author_terms = get_the_terms( $post_id, 'author_tax' );
$authors = [];
if ( $author_terms && ! is_wp_error( $author_terms ) ) {
foreach ( $author_terms as $term ) {
$photo_id = get_field(
'author_photo',
'author_tax_' . $term->term_id
);
$authors[] = [
'name' => $term->name,
'url' => get_term_link( $term->term_id ),
'photo' => $photo_id
? wp_get_attachment_image_url( $photo_id, 'author-image' )
: '',
];
}
}
?>
<div class="uw-bf-card__meta">
<?php if ( count( $authors ) > 0 ) { ?>
<div class="uw-bf-card__author-photos">
<?php foreach ( $authors as $author ) { ?>
<a
href="<?php echo esc_url( $author['url'] ); ?>"
class="uw-bf-card__author-photo-link"
>
<img
class="uw-bf-card__author-photo"
src="<?php echo esc_url( $author['photo'] ); ?>"
alt="<?php echo esc_attr( $author['name'] ); ?>"
>
</a>
<?php } ?>
</div>
<?php } ?>
<div class="uw-bf-card__meta-sub">
<span class="uw-bf-card__author-names">
<?php echo getAuthorNames( $authors ); ?>
</span>
<span class="uw-bf-card__date">
<?php echo get_the_date( 'F d, Y', $post_id ); ?>
</span>
</div>
</div>.brxe-qhtnal{
.uw-bf-card__author-photo, .uw-bf-card__author-photo-link {
width: 53px;
height: 53px;
}
}In the past, security was often treated as a late-stage addition in the software development lifecycle (SDLC) — primarily as a safeguard to protect software and its underlying infrastructure. However, with development teams shifting to shorter, more frequent iterations of applications, DevSecOps rose to the fore to become a widespread and ongoing practice for ensuring…
Read More
<?php $url = get_permalink(); ?>
<?php $title = get_the_title(); ?>
<div class="uw-bf-card__share">
<a class="uw-bf-share-btn" href="https://www.linkedin.com/shareArticle?mini=true&url=<?php echo urlencode($url) . '&title=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on LinkedIn"><svg width="12" height="11" viewBox="0 0 12 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2.51819 10.9373H0.185826V3.63501H2.51819V10.9373ZM1.35075 2.63892C0.604939 2.63892 0 2.03833 0 1.31323C5.33822e-09 0.964941 0.142311 0.630916 0.395626 0.384637C0.648942 0.138358 0.992511 0 1.35075 0C1.709 0 2.05256 0.138358 2.30588 0.384637C2.5592 0.630916 2.70151 0.964941 2.70151 1.31323C2.70151 2.03833 2.09632 2.63892 1.35075 2.63892ZM11.2475 10.9373H8.92015V7.38257C8.92015 6.5354 8.90257 5.44897 7.70751 5.44897C6.49487 5.44897 6.30904 6.36938 6.30904 7.32153V10.9373H3.97919V3.63501H6.21613V4.6311H6.24877C6.56016 4.05737 7.32079 3.4519 8.45558 3.4519C10.8161 3.4519 11.25 4.96313 11.25 6.92603V10.9373H11.2475Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://twitter.com/intent/tweet?url=<?php echo rawurlencode($url) . '&text=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on X"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.3319 5.92804L13.5437 0H12.3087L7.78327 5.14724L4.16883 0H0L5.46574 7.78354L0 14H1.2351L6.01406 8.56434L9.83117 14H14L8.3316 5.92804H8.3319ZM6.64026 7.85211L6.08647 7.07705L1.68013 0.909776H3.57717L7.13314 5.88696L7.68693 6.66202L12.3093 13.1316H10.4122L6.64026 7.85241V7.85211Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://www.facebook.com/sharer/sharer.php?u=<?php echo urlencode($url); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on Facebook"><svg width="7" height="14" viewBox="0 0 7 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6.00586 7.73438L6.33914 5.24595H4.25531V3.63113C4.25531 2.95034 4.54641 2.28674 5.47969 2.28674H6.42703V0.168115C6.42703 0.168115 5.56734 0 4.74539 0C3.0293 0 1.90758 1.19185 1.90758 3.34941V5.24595H0V7.73438H1.90758V13.75H4.25531V7.73438H6.00586Z" fill="#75808E"/></svg></a>
<div class="uw-bf-copy-wrap">
<button class="uw-bf-share-btn uw-bf-copy-btn" data-url="<?php echo get_permalink(); ?>" aria-label="Copy link">
<svg width="15" height="11" viewBox="0 0 15 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M13.1713 5.42406C14.4955 4.18261 14.4955 2.17211 13.1713 0.930656C11.9994 -0.167977 10.1525 -0.310799 8.80488 0.592277L8.76738 0.616447C8.42988 0.842765 8.35254 1.28222 8.59394 1.59643C8.83535 1.91064 9.3041 1.98534 9.63926 1.75902L9.67676 1.73485C10.4291 1.23168 11.458 1.31078 12.1096 1.92382C12.8479 2.61596 12.8479 3.73656 12.1096 4.4287L9.47988 6.89843C8.7416 7.59057 7.54629 7.59057 6.80801 6.89843C6.1541 6.28539 6.06973 5.32079 6.60645 4.61767L6.63223 4.58251C6.87363 4.26611 6.79394 3.82665 6.45879 3.60253C6.12363 3.37841 5.65254 3.45092 5.41348 3.76513L5.3877 3.80028C4.42207 5.06152 4.57441 6.79296 5.74629 7.89159C7.07051 9.13305 9.21504 9.13305 10.5393 7.89159L13.1713 5.42406ZM0.993164 4.9099C-0.331055 6.15136 -0.331055 8.16186 0.993164 9.40331C2.16504 10.5019 4.01191 10.6448 5.35957 9.74169L5.39707 9.71752C5.73457 9.4912 5.81191 9.05175 5.57051 8.73754C5.3291 8.42333 4.86035 8.34863 4.5252 8.57494L4.4877 8.59911C3.73535 9.10229 2.70645 9.02319 2.05488 8.41015C1.3166 7.71581 1.3166 6.59521 2.05488 5.90307L4.68457 3.43554C5.42285 2.7434 6.61816 2.7434 7.35645 3.43554C8.01035 4.04858 8.09473 5.01318 7.55801 5.7185L7.53223 5.75365C7.29082 6.07006 7.37051 6.50951 7.70566 6.73363C8.04082 6.95776 8.51191 6.88525 8.75098 6.57104L8.77676 6.53588C9.74238 5.27245 9.59004 3.54101 8.41816 2.44237C7.09395 1.20092 4.94941 1.20092 3.6252 2.44237L0.993164 4.9099Z" fill="#75808E"/></svg>
<div class="uw-bf-copy-notify">Link copied</div>
</button>
</div>
</div>.uw-bf-copy-notify {
opacity: 0;
visibility: hidden;
transition: opacity 0.2s ease, visibility 0.2s ease;
}
.uw-bf-copy-btn.is-copied .uw-bf-copy-notify {
opacity: 1;
visibility: visible;
}document.addEventListener('click', async (event) => {
const button = event.target.closest('.uw-bf-copy-btn');
if (!button) {
return;
}
const url = button.dataset.url;
try {
await navigator.clipboard.writeText(url);
button.classList.add('is-copied');
setTimeout(() => {
button.classList.remove('is-copied');
}, 2000);
} catch (error) {
console.error('COPY ERROR:', error);
}
});
Understanding the Shared Responsibility Model in Cloud Security
<?php
$post_id = get_the_ID();
$author_terms = get_the_terms( $post_id, 'author_tax' );
$authors = [];
if ( $author_terms && ! is_wp_error( $author_terms ) ) {
foreach ( $author_terms as $term ) {
$photo_id = get_field(
'author_photo',
'author_tax_' . $term->term_id
);
$authors[] = [
'name' => $term->name,
'url' => get_term_link( $term->term_id ),
'photo' => $photo_id
? wp_get_attachment_image_url( $photo_id, 'author-image' )
: '',
];
}
}
?>
<div class="uw-bf-card__meta">
<?php if ( count( $authors ) > 0 ) { ?>
<div class="uw-bf-card__author-photos">
<?php foreach ( $authors as $author ) { ?>
<a
href="<?php echo esc_url( $author['url'] ); ?>"
class="uw-bf-card__author-photo-link"
>
<img
class="uw-bf-card__author-photo"
src="<?php echo esc_url( $author['photo'] ); ?>"
alt="<?php echo esc_attr( $author['name'] ); ?>"
>
</a>
<?php } ?>
</div>
<?php } ?>
<div class="uw-bf-card__meta-sub">
<span class="uw-bf-card__author-names">
<?php echo getAuthorNames( $authors ); ?>
</span>
<span class="uw-bf-card__date">
<?php echo get_the_date( 'F d, Y', $post_id ); ?>
</span>
</div>
</div>.brxe-qhtnal{
.uw-bf-card__author-photo, .uw-bf-card__author-photo-link {
width: 53px;
height: 53px;
}
}The fragmented nature of responsibilities in cloud security — shaped by the specific cloud service model — means CSPs may secure infrastructure, operating systems, or platforms, while customers are responsible for protecting their data, applications, and configurations. However, nuanced differences and enforcing policies across clouds often throw a wrench into this otherwise straightforward division of…
Read More
<?php $url = get_permalink(); ?>
<?php $title = get_the_title(); ?>
<div class="uw-bf-card__share">
<a class="uw-bf-share-btn" href="https://www.linkedin.com/shareArticle?mini=true&url=<?php echo urlencode($url) . '&title=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on LinkedIn"><svg width="12" height="11" viewBox="0 0 12 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2.51819 10.9373H0.185826V3.63501H2.51819V10.9373ZM1.35075 2.63892C0.604939 2.63892 0 2.03833 0 1.31323C5.33822e-09 0.964941 0.142311 0.630916 0.395626 0.384637C0.648942 0.138358 0.992511 0 1.35075 0C1.709 0 2.05256 0.138358 2.30588 0.384637C2.5592 0.630916 2.70151 0.964941 2.70151 1.31323C2.70151 2.03833 2.09632 2.63892 1.35075 2.63892ZM11.2475 10.9373H8.92015V7.38257C8.92015 6.5354 8.90257 5.44897 7.70751 5.44897C6.49487 5.44897 6.30904 6.36938 6.30904 7.32153V10.9373H3.97919V3.63501H6.21613V4.6311H6.24877C6.56016 4.05737 7.32079 3.4519 8.45558 3.4519C10.8161 3.4519 11.25 4.96313 11.25 6.92603V10.9373H11.2475Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://twitter.com/intent/tweet?url=<?php echo rawurlencode($url) . '&text=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on X"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.3319 5.92804L13.5437 0H12.3087L7.78327 5.14724L4.16883 0H0L5.46574 7.78354L0 14H1.2351L6.01406 8.56434L9.83117 14H14L8.3316 5.92804H8.3319ZM6.64026 7.85211L6.08647 7.07705L1.68013 0.909776H3.57717L7.13314 5.88696L7.68693 6.66202L12.3093 13.1316H10.4122L6.64026 7.85241V7.85211Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://www.facebook.com/sharer/sharer.php?u=<?php echo urlencode($url); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on Facebook"><svg width="7" height="14" viewBox="0 0 7 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6.00586 7.73438L6.33914 5.24595H4.25531V3.63113C4.25531 2.95034 4.54641 2.28674 5.47969 2.28674H6.42703V0.168115C6.42703 0.168115 5.56734 0 4.74539 0C3.0293 0 1.90758 1.19185 1.90758 3.34941V5.24595H0V7.73438H1.90758V13.75H4.25531V7.73438H6.00586Z" fill="#75808E"/></svg></a>
<div class="uw-bf-copy-wrap">
<button class="uw-bf-share-btn uw-bf-copy-btn" data-url="<?php echo get_permalink(); ?>" aria-label="Copy link">
<svg width="15" height="11" viewBox="0 0 15 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M13.1713 5.42406C14.4955 4.18261 14.4955 2.17211 13.1713 0.930656C11.9994 -0.167977 10.1525 -0.310799 8.80488 0.592277L8.76738 0.616447C8.42988 0.842765 8.35254 1.28222 8.59394 1.59643C8.83535 1.91064 9.3041 1.98534 9.63926 1.75902L9.67676 1.73485C10.4291 1.23168 11.458 1.31078 12.1096 1.92382C12.8479 2.61596 12.8479 3.73656 12.1096 4.4287L9.47988 6.89843C8.7416 7.59057 7.54629 7.59057 6.80801 6.89843C6.1541 6.28539 6.06973 5.32079 6.60645 4.61767L6.63223 4.58251C6.87363 4.26611 6.79394 3.82665 6.45879 3.60253C6.12363 3.37841 5.65254 3.45092 5.41348 3.76513L5.3877 3.80028C4.42207 5.06152 4.57441 6.79296 5.74629 7.89159C7.07051 9.13305 9.21504 9.13305 10.5393 7.89159L13.1713 5.42406ZM0.993164 4.9099C-0.331055 6.15136 -0.331055 8.16186 0.993164 9.40331C2.16504 10.5019 4.01191 10.6448 5.35957 9.74169L5.39707 9.71752C5.73457 9.4912 5.81191 9.05175 5.57051 8.73754C5.3291 8.42333 4.86035 8.34863 4.5252 8.57494L4.4877 8.59911C3.73535 9.10229 2.70645 9.02319 2.05488 8.41015C1.3166 7.71581 1.3166 6.59521 2.05488 5.90307L4.68457 3.43554C5.42285 2.7434 6.61816 2.7434 7.35645 3.43554C8.01035 4.04858 8.09473 5.01318 7.55801 5.7185L7.53223 5.75365C7.29082 6.07006 7.37051 6.50951 7.70566 6.73363C8.04082 6.95776 8.51191 6.88525 8.75098 6.57104L8.77676 6.53588C9.74238 5.27245 9.59004 3.54101 8.41816 2.44237C7.09395 1.20092 4.94941 1.20092 3.6252 2.44237L0.993164 4.9099Z" fill="#75808E"/></svg>
<div class="uw-bf-copy-notify">Link copied</div>
</button>
</div>
</div>.uw-bf-copy-notify {
opacity: 0;
visibility: hidden;
transition: opacity 0.2s ease, visibility 0.2s ease;
}
.uw-bf-copy-btn.is-copied .uw-bf-copy-notify {
opacity: 1;
visibility: visible;
}document.addEventListener('click', async (event) => {
const button = event.target.closest('.uw-bf-copy-btn');
if (!button) {
return;
}
const url = button.dataset.url;
try {
await navigator.clipboard.writeText(url);
button.classList.add('is-copied');
setTimeout(() => {
button.classList.remove('is-copied');
}, 2000);
} catch (error) {
console.error('COPY ERROR:', error);
}
});
CIEM vs. CSPM: A Comprehensive Comparison
<?php
$post_id = get_the_ID();
$author_terms = get_the_terms( $post_id, 'author_tax' );
$authors = [];
if ( $author_terms && ! is_wp_error( $author_terms ) ) {
foreach ( $author_terms as $term ) {
$photo_id = get_field(
'author_photo',
'author_tax_' . $term->term_id
);
$authors[] = [
'name' => $term->name,
'url' => get_term_link( $term->term_id ),
'photo' => $photo_id
? wp_get_attachment_image_url( $photo_id, 'author-image' )
: '',
];
}
}
?>
<div class="uw-bf-card__meta">
<?php if ( count( $authors ) > 0 ) { ?>
<div class="uw-bf-card__author-photos">
<?php foreach ( $authors as $author ) { ?>
<a
href="<?php echo esc_url( $author['url'] ); ?>"
class="uw-bf-card__author-photo-link"
>
<img
class="uw-bf-card__author-photo"
src="<?php echo esc_url( $author['photo'] ); ?>"
alt="<?php echo esc_attr( $author['name'] ); ?>"
>
</a>
<?php } ?>
</div>
<?php } ?>
<div class="uw-bf-card__meta-sub">
<span class="uw-bf-card__author-names">
<?php echo getAuthorNames( $authors ); ?>
</span>
<span class="uw-bf-card__date">
<?php echo get_the_date( 'F d, Y', $post_id ); ?>
</span>
</div>
</div>.brxe-qhtnal{
.uw-bf-card__author-photo, .uw-bf-card__author-photo-link {
width: 53px;
height: 53px;
}
}To what extent do organizations need fine-grained access control? Or is broader coverage over cloud infrastructure a bigger immediate risk to manage? Which aligns better with GDPR? SOC 2? To counter immediate risk? And is combining these cloud tools just a path to duplicate coverage? Those are all good questions that point to the reality…
Read More
<?php $url = get_permalink(); ?>
<?php $title = get_the_title(); ?>
<div class="uw-bf-card__share">
<a class="uw-bf-share-btn" href="https://www.linkedin.com/shareArticle?mini=true&url=<?php echo urlencode($url) . '&title=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on LinkedIn"><svg width="12" height="11" viewBox="0 0 12 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2.51819 10.9373H0.185826V3.63501H2.51819V10.9373ZM1.35075 2.63892C0.604939 2.63892 0 2.03833 0 1.31323C5.33822e-09 0.964941 0.142311 0.630916 0.395626 0.384637C0.648942 0.138358 0.992511 0 1.35075 0C1.709 0 2.05256 0.138358 2.30588 0.384637C2.5592 0.630916 2.70151 0.964941 2.70151 1.31323C2.70151 2.03833 2.09632 2.63892 1.35075 2.63892ZM11.2475 10.9373H8.92015V7.38257C8.92015 6.5354 8.90257 5.44897 7.70751 5.44897C6.49487 5.44897 6.30904 6.36938 6.30904 7.32153V10.9373H3.97919V3.63501H6.21613V4.6311H6.24877C6.56016 4.05737 7.32079 3.4519 8.45558 3.4519C10.8161 3.4519 11.25 4.96313 11.25 6.92603V10.9373H11.2475Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://twitter.com/intent/tweet?url=<?php echo rawurlencode($url) . '&text=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on X"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.3319 5.92804L13.5437 0H12.3087L7.78327 5.14724L4.16883 0H0L5.46574 7.78354L0 14H1.2351L6.01406 8.56434L9.83117 14H14L8.3316 5.92804H8.3319ZM6.64026 7.85211L6.08647 7.07705L1.68013 0.909776H3.57717L7.13314 5.88696L7.68693 6.66202L12.3093 13.1316H10.4122L6.64026 7.85241V7.85211Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://www.facebook.com/sharer/sharer.php?u=<?php echo urlencode($url); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on Facebook"><svg width="7" height="14" viewBox="0 0 7 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6.00586 7.73438L6.33914 5.24595H4.25531V3.63113C4.25531 2.95034 4.54641 2.28674 5.47969 2.28674H6.42703V0.168115C6.42703 0.168115 5.56734 0 4.74539 0C3.0293 0 1.90758 1.19185 1.90758 3.34941V5.24595H0V7.73438H1.90758V13.75H4.25531V7.73438H6.00586Z" fill="#75808E"/></svg></a>
<div class="uw-bf-copy-wrap">
<button class="uw-bf-share-btn uw-bf-copy-btn" data-url="<?php echo get_permalink(); ?>" aria-label="Copy link">
<svg width="15" height="11" viewBox="0 0 15 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M13.1713 5.42406C14.4955 4.18261 14.4955 2.17211 13.1713 0.930656C11.9994 -0.167977 10.1525 -0.310799 8.80488 0.592277L8.76738 0.616447C8.42988 0.842765 8.35254 1.28222 8.59394 1.59643C8.83535 1.91064 9.3041 1.98534 9.63926 1.75902L9.67676 1.73485C10.4291 1.23168 11.458 1.31078 12.1096 1.92382C12.8479 2.61596 12.8479 3.73656 12.1096 4.4287L9.47988 6.89843C8.7416 7.59057 7.54629 7.59057 6.80801 6.89843C6.1541 6.28539 6.06973 5.32079 6.60645 4.61767L6.63223 4.58251C6.87363 4.26611 6.79394 3.82665 6.45879 3.60253C6.12363 3.37841 5.65254 3.45092 5.41348 3.76513L5.3877 3.80028C4.42207 5.06152 4.57441 6.79296 5.74629 7.89159C7.07051 9.13305 9.21504 9.13305 10.5393 7.89159L13.1713 5.42406ZM0.993164 4.9099C-0.331055 6.15136 -0.331055 8.16186 0.993164 9.40331C2.16504 10.5019 4.01191 10.6448 5.35957 9.74169L5.39707 9.71752C5.73457 9.4912 5.81191 9.05175 5.57051 8.73754C5.3291 8.42333 4.86035 8.34863 4.5252 8.57494L4.4877 8.59911C3.73535 9.10229 2.70645 9.02319 2.05488 8.41015C1.3166 7.71581 1.3166 6.59521 2.05488 5.90307L4.68457 3.43554C5.42285 2.7434 6.61816 2.7434 7.35645 3.43554C8.01035 4.04858 8.09473 5.01318 7.55801 5.7185L7.53223 5.75365C7.29082 6.07006 7.37051 6.50951 7.70566 6.73363C8.04082 6.95776 8.51191 6.88525 8.75098 6.57104L8.77676 6.53588C9.74238 5.27245 9.59004 3.54101 8.41816 2.44237C7.09395 1.20092 4.94941 1.20092 3.6252 2.44237L0.993164 4.9099Z" fill="#75808E"/></svg>
<div class="uw-bf-copy-notify">Link copied</div>
</button>
</div>
</div>.uw-bf-copy-notify {
opacity: 0;
visibility: hidden;
transition: opacity 0.2s ease, visibility 0.2s ease;
}
.uw-bf-copy-btn.is-copied .uw-bf-copy-notify {
opacity: 1;
visibility: visible;
}document.addEventListener('click', async (event) => {
const button = event.target.closest('.uw-bf-copy-btn');
if (!button) {
return;
}
const url = button.dataset.url;
try {
await navigator.clipboard.writeText(url);
button.classList.add('is-copied');
setTimeout(() => {
button.classList.remove('is-copied');
}, 2000);
} catch (error) {
console.error('COPY ERROR:', error);
}
});
Understand eBPF Security: Deep Visibility & Real-Time Threat
<?php
$post_id = get_the_ID();
$author_terms = get_the_terms( $post_id, 'author_tax' );
$authors = [];
if ( $author_terms && ! is_wp_error( $author_terms ) ) {
foreach ( $author_terms as $term ) {
$photo_id = get_field(
'author_photo',
'author_tax_' . $term->term_id
);
$authors[] = [
'name' => $term->name,
'url' => get_term_link( $term->term_id ),
'photo' => $photo_id
? wp_get_attachment_image_url( $photo_id, 'author-image' )
: '',
];
}
}
?>
<div class="uw-bf-card__meta">
<?php if ( count( $authors ) > 0 ) { ?>
<div class="uw-bf-card__author-photos">
<?php foreach ( $authors as $author ) { ?>
<a
href="<?php echo esc_url( $author['url'] ); ?>"
class="uw-bf-card__author-photo-link"
>
<img
class="uw-bf-card__author-photo"
src="<?php echo esc_url( $author['photo'] ); ?>"
alt="<?php echo esc_attr( $author['name'] ); ?>"
>
</a>
<?php } ?>
</div>
<?php } ?>
<div class="uw-bf-card__meta-sub">
<span class="uw-bf-card__author-names">
<?php echo getAuthorNames( $authors ); ?>
</span>
<span class="uw-bf-card__date">
<?php echo get_the_date( 'F d, Y', $post_id ); ?>
</span>
</div>
</div>.brxe-qhtnal{
.uw-bf-card__author-photo, .uw-bf-card__author-photo-link {
width: 53px;
height: 53px;
}
}Extended Berkeley Packet Filter (eBPF) isn’t an agent. And it doesn’t exactly function like one, either. What is it? What does it do, and what security gaps does it close that agents can’t? What about performance? We’re breaking down what eBPF security includes, but then going deeper into visibility tradeoffs, operational overhead, and compliance concerns…
Read More
<?php $url = get_permalink(); ?>
<?php $title = get_the_title(); ?>
<div class="uw-bf-card__share">
<a class="uw-bf-share-btn" href="https://www.linkedin.com/shareArticle?mini=true&url=<?php echo urlencode($url) . '&title=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on LinkedIn"><svg width="12" height="11" viewBox="0 0 12 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2.51819 10.9373H0.185826V3.63501H2.51819V10.9373ZM1.35075 2.63892C0.604939 2.63892 0 2.03833 0 1.31323C5.33822e-09 0.964941 0.142311 0.630916 0.395626 0.384637C0.648942 0.138358 0.992511 0 1.35075 0C1.709 0 2.05256 0.138358 2.30588 0.384637C2.5592 0.630916 2.70151 0.964941 2.70151 1.31323C2.70151 2.03833 2.09632 2.63892 1.35075 2.63892ZM11.2475 10.9373H8.92015V7.38257C8.92015 6.5354 8.90257 5.44897 7.70751 5.44897C6.49487 5.44897 6.30904 6.36938 6.30904 7.32153V10.9373H3.97919V3.63501H6.21613V4.6311H6.24877C6.56016 4.05737 7.32079 3.4519 8.45558 3.4519C10.8161 3.4519 11.25 4.96313 11.25 6.92603V10.9373H11.2475Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://twitter.com/intent/tweet?url=<?php echo rawurlencode($url) . '&text=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on X"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.3319 5.92804L13.5437 0H12.3087L7.78327 5.14724L4.16883 0H0L5.46574 7.78354L0 14H1.2351L6.01406 8.56434L9.83117 14H14L8.3316 5.92804H8.3319ZM6.64026 7.85211L6.08647 7.07705L1.68013 0.909776H3.57717L7.13314 5.88696L7.68693 6.66202L12.3093 13.1316H10.4122L6.64026 7.85241V7.85211Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://www.facebook.com/sharer/sharer.php?u=<?php echo urlencode($url); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on Facebook"><svg width="7" height="14" viewBox="0 0 7 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6.00586 7.73438L6.33914 5.24595H4.25531V3.63113C4.25531 2.95034 4.54641 2.28674 5.47969 2.28674H6.42703V0.168115C6.42703 0.168115 5.56734 0 4.74539 0C3.0293 0 1.90758 1.19185 1.90758 3.34941V5.24595H0V7.73438H1.90758V13.75H4.25531V7.73438H6.00586Z" fill="#75808E"/></svg></a>
<div class="uw-bf-copy-wrap">
<button class="uw-bf-share-btn uw-bf-copy-btn" data-url="<?php echo get_permalink(); ?>" aria-label="Copy link">
<svg width="15" height="11" viewBox="0 0 15 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M13.1713 5.42406C14.4955 4.18261 14.4955 2.17211 13.1713 0.930656C11.9994 -0.167977 10.1525 -0.310799 8.80488 0.592277L8.76738 0.616447C8.42988 0.842765 8.35254 1.28222 8.59394 1.59643C8.83535 1.91064 9.3041 1.98534 9.63926 1.75902L9.67676 1.73485C10.4291 1.23168 11.458 1.31078 12.1096 1.92382C12.8479 2.61596 12.8479 3.73656 12.1096 4.4287L9.47988 6.89843C8.7416 7.59057 7.54629 7.59057 6.80801 6.89843C6.1541 6.28539 6.06973 5.32079 6.60645 4.61767L6.63223 4.58251C6.87363 4.26611 6.79394 3.82665 6.45879 3.60253C6.12363 3.37841 5.65254 3.45092 5.41348 3.76513L5.3877 3.80028C4.42207 5.06152 4.57441 6.79296 5.74629 7.89159C7.07051 9.13305 9.21504 9.13305 10.5393 7.89159L13.1713 5.42406ZM0.993164 4.9099C-0.331055 6.15136 -0.331055 8.16186 0.993164 9.40331C2.16504 10.5019 4.01191 10.6448 5.35957 9.74169L5.39707 9.71752C5.73457 9.4912 5.81191 9.05175 5.57051 8.73754C5.3291 8.42333 4.86035 8.34863 4.5252 8.57494L4.4877 8.59911C3.73535 9.10229 2.70645 9.02319 2.05488 8.41015C1.3166 7.71581 1.3166 6.59521 2.05488 5.90307L4.68457 3.43554C5.42285 2.7434 6.61816 2.7434 7.35645 3.43554C8.01035 4.04858 8.09473 5.01318 7.55801 5.7185L7.53223 5.75365C7.29082 6.07006 7.37051 6.50951 7.70566 6.73363C8.04082 6.95776 8.51191 6.88525 8.75098 6.57104L8.77676 6.53588C9.74238 5.27245 9.59004 3.54101 8.41816 2.44237C7.09395 1.20092 4.94941 1.20092 3.6252 2.44237L0.993164 4.9099Z" fill="#75808E"/></svg>
<div class="uw-bf-copy-notify">Link copied</div>
</button>
</div>
</div>.uw-bf-copy-notify {
opacity: 0;
visibility: hidden;
transition: opacity 0.2s ease, visibility 0.2s ease;
}
.uw-bf-copy-btn.is-copied .uw-bf-copy-notify {
opacity: 1;
visibility: visible;
}document.addEventListener('click', async (event) => {
const button = event.target.closest('.uw-bf-copy-btn');
if (!button) {
return;
}
const url = button.dataset.url;
try {
await navigator.clipboard.writeText(url);
button.classList.add('is-copied');
setTimeout(() => {
button.classList.remove('is-copied');
}, 2000);
} catch (error) {
console.error('COPY ERROR:', error);
}
});