# shield-alert icon

Shield alert. Gentleface icon, drawn on the 16 px pixel grid. Free, MIT licensed. Page: https://gentleface.com/icons/shield-alert

- Category: Security & privacy
- Use it for: security warning, unprotected, security alert, security risk, threat detected, not protected, unsecured
- Tags: security, warning, alert, risk, exclamation
- Family: shield, shield-check, shield-clock, shield-gear, shield-lock, shield-off, shield-pause, shield-plus, shield-question, shield-search, shield-sparkle, shield-sync, shield-x
- Component name: ShieldAlertIcon
- Added: 2026-10-14

## Alternatives

- `shield-off`: protection turned off on purpose
- `lock-open-alert`: a connection that is not secure

## Also fits

- not secure: a device or account left unprotected (security product state)

## Not for

- compromised password (use `key-alert`): a security warning in general, not about one credential

## Files

Each SVG is 16 × 16 with fill="currentColor". Keep it at 16 px or an exact multiple (32, 48) on whole pixels: a fractional size or position blurs it.

- line-round: https://gentleface.com/svg/line-round/16/shield-alert.svg · PNG https://gentleface.com/png/line-round/16/shield-alert.png · https://gentleface.com/png/line-round/32/shield-alert.png · https://gentleface.com/png/line-round/48/shield-alert.png
- line-soft: https://gentleface.com/svg/line-soft/16/shield-alert.svg · PNG https://gentleface.com/png/line-soft/16/shield-alert.png · https://gentleface.com/png/line-soft/32/shield-alert.png · https://gentleface.com/png/line-soft/48/shield-alert.png
- line-sharp: https://gentleface.com/svg/line-sharp/16/shield-alert.svg · PNG https://gentleface.com/png/line-sharp/16/shield-alert.png · https://gentleface.com/png/line-sharp/32/shield-alert.png · https://gentleface.com/png/line-sharp/48/shield-alert.png
- solid-round: https://gentleface.com/svg/solid-round/16/shield-alert.svg · PNG https://gentleface.com/png/solid-round/16/shield-alert.png · https://gentleface.com/png/solid-round/32/shield-alert.png · https://gentleface.com/png/solid-round/48/shield-alert.png
- solid-soft: https://gentleface.com/svg/solid-soft/16/shield-alert.svg · PNG https://gentleface.com/png/solid-soft/16/shield-alert.png · https://gentleface.com/png/solid-soft/32/shield-alert.png · https://gentleface.com/png/solid-soft/48/shield-alert.png
- solid-sharp: https://gentleface.com/svg/solid-sharp/16/shield-alert.svg · PNG https://gentleface.com/png/solid-sharp/16/shield-alert.png · https://gentleface.com/png/solid-sharp/32/shield-alert.png · https://gentleface.com/png/solid-sharp/48/shield-alert.png

The SVG of every style: https://gentleface.com/icons/shield-alert.json (`svg`).

## Code (line-round)

The snippets are decorative (aria-hidden). For an icon that carries meaning on its own, such as an icon-only button, label the button, or give the SVG role="img" and an aria-label. For another style, take its SVG from the JSON and swap the path `d`.

### SVG

```svg
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true"><path d="M12.528 10.763C12.243 11.414 11.835 12.024 11.302 12.592C10.825 13.101 10.259 13.565 9.605 13.984C9.015 14.362 8.375 14.689 7.686 14.964C7.562 15.014 7.438 15.014 7.314 14.964C6.625 14.689 5.985 14.362 5.395 13.984C4.741 13.565 4.175 13.101 3.698 12.592C3.165 12.024 2.757 11.414 2.472 10.763C2.157 10.044 2 9.29 2 8.5L2 3.5C2 3.359 2.048 3.241 2.144 3.144C2.241 3.048 2.359 3 2.5 3C3.471 3 4.307 2.865 5.008 2.596C5.754 2.309 6.467 1.826 7.146 1.146C7.244 1.049 7.362 1 7.5 1C7.638 1 7.756 1.049 7.854 1.146C8.533 1.826 9.246 2.309 9.992 2.596C10.693 2.865 11.529 3 12.5 3C12.641 3 12.759 3.048 12.856 3.144C12.952 3.241 13 3.359 13 3.5L13 8.5C13 9.29 12.843 10.044 12.528 10.763ZM4.427 11.908C4.848 12.357 5.35 12.768 5.934 13.141C6.418 13.451 6.94 13.724 7.5 13.96C8.06 13.724 8.582 13.451 9.066 13.141C9.65 12.768 10.152 12.357 10.573 11.908C11.524 10.893 12 9.757 12 8.5L12 3.989C11.111 3.947 10.322 3.794 9.633 3.529C8.886 3.242 8.175 2.795 7.5 2.189C6.825 2.795 6.114 3.242 5.367 3.529C4.678 3.794 3.889 3.947 3 3.989L3 8.5C3 9.757 3.476 10.893 4.427 11.908ZM7.856 8.856C7.759 8.952 7.641 9 7.5 9C7.359 9 7.241 8.952 7.144 8.856C7.048 8.759 7 8.641 7 8.5L7 4.5C7 4.359 7.048 4.241 7.144 4.144C7.241 4.048 7.359 4 7.5 4C7.641 4 7.759 4.048 7.856 4.144C7.952 4.241 8 4.359 8 4.5L8 8.5C8 8.641 7.952 8.759 7.856 8.856ZM6.97 9.97C7.116 9.823 7.293 9.75 7.5 9.75C7.707 9.75 7.884 9.823 8.03 9.97C8.177 10.116 8.25 10.293 8.25 10.5C8.25 10.707 8.177 10.884 8.03 11.03C7.884 11.177 7.707 11.25 7.5 11.25C7.293 11.25 7.116 11.177 6.97 11.03C6.823 10.884 6.75 10.707 6.75 10.5C6.75 10.293 6.823 10.116 6.97 9.97Z"/></svg>
```

### React

```tsx
// Gentleface "shield-alert" (line-round), MIT. https://gentleface.com/icons/shield-alert
import type { SVGProps } from 'react';

export function ShieldAlertIcon(props: SVGProps<SVGSVGElement>) {
  return (
    <svg xmlns="http://www.w3.org/2000/svg" width={16} height={16} viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" {...props}>
      <path d="M12.528 10.763C12.243 11.414 11.835 12.024 11.302 12.592C10.825 13.101 10.259 13.565 9.605 13.984C9.015 14.362 8.375 14.689 7.686 14.964C7.562 15.014 7.438 15.014 7.314 14.964C6.625 14.689 5.985 14.362 5.395 13.984C4.741 13.565 4.175 13.101 3.698 12.592C3.165 12.024 2.757 11.414 2.472 10.763C2.157 10.044 2 9.29 2 8.5L2 3.5C2 3.359 2.048 3.241 2.144 3.144C2.241 3.048 2.359 3 2.5 3C3.471 3 4.307 2.865 5.008 2.596C5.754 2.309 6.467 1.826 7.146 1.146C7.244 1.049 7.362 1 7.5 1C7.638 1 7.756 1.049 7.854 1.146C8.533 1.826 9.246 2.309 9.992 2.596C10.693 2.865 11.529 3 12.5 3C12.641 3 12.759 3.048 12.856 3.144C12.952 3.241 13 3.359 13 3.5L13 8.5C13 9.29 12.843 10.044 12.528 10.763ZM4.427 11.908C4.848 12.357 5.35 12.768 5.934 13.141C6.418 13.451 6.94 13.724 7.5 13.96C8.06 13.724 8.582 13.451 9.066 13.141C9.65 12.768 10.152 12.357 10.573 11.908C11.524 10.893 12 9.757 12 8.5L12 3.989C11.111 3.947 10.322 3.794 9.633 3.529C8.886 3.242 8.175 2.795 7.5 2.189C6.825 2.795 6.114 3.242 5.367 3.529C4.678 3.794 3.889 3.947 3 3.989L3 8.5C3 9.757 3.476 10.893 4.427 11.908ZM7.856 8.856C7.759 8.952 7.641 9 7.5 9C7.359 9 7.241 8.952 7.144 8.856C7.048 8.759 7 8.641 7 8.5L7 4.5C7 4.359 7.048 4.241 7.144 4.144C7.241 4.048 7.359 4 7.5 4C7.641 4 7.759 4.048 7.856 4.144C7.952 4.241 8 4.359 8 4.5L8 8.5C8 8.641 7.952 8.759 7.856 8.856ZM6.97 9.97C7.116 9.823 7.293 9.75 7.5 9.75C7.707 9.75 7.884 9.823 8.03 9.97C8.177 10.116 8.25 10.293 8.25 10.5C8.25 10.707 8.177 10.884 8.03 11.03C7.884 11.177 7.707 11.25 7.5 11.25C7.293 11.25 7.116 11.177 6.97 11.03C6.823 10.884 6.75 10.707 6.75 10.5C6.75 10.293 6.823 10.116 6.97 9.97Z" />
    </svg>
  );
}
```

### Vue

```vue
<!-- Gentleface "shield-alert" (line-round), MIT. https://gentleface.com/icons/shield-alert -->
<template>
  <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true">
    <path d="M12.528 10.763C12.243 11.414 11.835 12.024 11.302 12.592C10.825 13.101 10.259 13.565 9.605 13.984C9.015 14.362 8.375 14.689 7.686 14.964C7.562 15.014 7.438 15.014 7.314 14.964C6.625 14.689 5.985 14.362 5.395 13.984C4.741 13.565 4.175 13.101 3.698 12.592C3.165 12.024 2.757 11.414 2.472 10.763C2.157 10.044 2 9.29 2 8.5L2 3.5C2 3.359 2.048 3.241 2.144 3.144C2.241 3.048 2.359 3 2.5 3C3.471 3 4.307 2.865 5.008 2.596C5.754 2.309 6.467 1.826 7.146 1.146C7.244 1.049 7.362 1 7.5 1C7.638 1 7.756 1.049 7.854 1.146C8.533 1.826 9.246 2.309 9.992 2.596C10.693 2.865 11.529 3 12.5 3C12.641 3 12.759 3.048 12.856 3.144C12.952 3.241 13 3.359 13 3.5L13 8.5C13 9.29 12.843 10.044 12.528 10.763ZM4.427 11.908C4.848 12.357 5.35 12.768 5.934 13.141C6.418 13.451 6.94 13.724 7.5 13.96C8.06 13.724 8.582 13.451 9.066 13.141C9.65 12.768 10.152 12.357 10.573 11.908C11.524 10.893 12 9.757 12 8.5L12 3.989C11.111 3.947 10.322 3.794 9.633 3.529C8.886 3.242 8.175 2.795 7.5 2.189C6.825 2.795 6.114 3.242 5.367 3.529C4.678 3.794 3.889 3.947 3 3.989L3 8.5C3 9.757 3.476 10.893 4.427 11.908ZM7.856 8.856C7.759 8.952 7.641 9 7.5 9C7.359 9 7.241 8.952 7.144 8.856C7.048 8.759 7 8.641 7 8.5L7 4.5C7 4.359 7.048 4.241 7.144 4.144C7.241 4.048 7.359 4 7.5 4C7.641 4 7.759 4.048 7.856 4.144C7.952 4.241 8 4.359 8 4.5L8 8.5C8 8.641 7.952 8.759 7.856 8.856ZM6.97 9.97C7.116 9.823 7.293 9.75 7.5 9.75C7.707 9.75 7.884 9.823 8.03 9.97C8.177 10.116 8.25 10.293 8.25 10.5C8.25 10.707 8.177 10.884 8.03 11.03C7.884 11.177 7.707 11.25 7.5 11.25C7.293 11.25 7.116 11.177 6.97 11.03C6.823 10.884 6.75 10.707 6.75 10.5C6.75 10.293 6.823 10.116 6.97 9.97Z" />
  </svg>
</template>
```

### Svelte

```svelte
<!-- Gentleface "shield-alert" (line-round), MIT. https://gentleface.com/icons/shield-alert -->
<script>
  let props = $props();
</script>

<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" {...props}>
  <path d="M12.528 10.763C12.243 11.414 11.835 12.024 11.302 12.592C10.825 13.101 10.259 13.565 9.605 13.984C9.015 14.362 8.375 14.689 7.686 14.964C7.562 15.014 7.438 15.014 7.314 14.964C6.625 14.689 5.985 14.362 5.395 13.984C4.741 13.565 4.175 13.101 3.698 12.592C3.165 12.024 2.757 11.414 2.472 10.763C2.157 10.044 2 9.29 2 8.5L2 3.5C2 3.359 2.048 3.241 2.144 3.144C2.241 3.048 2.359 3 2.5 3C3.471 3 4.307 2.865 5.008 2.596C5.754 2.309 6.467 1.826 7.146 1.146C7.244 1.049 7.362 1 7.5 1C7.638 1 7.756 1.049 7.854 1.146C8.533 1.826 9.246 2.309 9.992 2.596C10.693 2.865 11.529 3 12.5 3C12.641 3 12.759 3.048 12.856 3.144C12.952 3.241 13 3.359 13 3.5L13 8.5C13 9.29 12.843 10.044 12.528 10.763ZM4.427 11.908C4.848 12.357 5.35 12.768 5.934 13.141C6.418 13.451 6.94 13.724 7.5 13.96C8.06 13.724 8.582 13.451 9.066 13.141C9.65 12.768 10.152 12.357 10.573 11.908C11.524 10.893 12 9.757 12 8.5L12 3.989C11.111 3.947 10.322 3.794 9.633 3.529C8.886 3.242 8.175 2.795 7.5 2.189C6.825 2.795 6.114 3.242 5.367 3.529C4.678 3.794 3.889 3.947 3 3.989L3 8.5C3 9.757 3.476 10.893 4.427 11.908ZM7.856 8.856C7.759 8.952 7.641 9 7.5 9C7.359 9 7.241 8.952 7.144 8.856C7.048 8.759 7 8.641 7 8.5L7 4.5C7 4.359 7.048 4.241 7.144 4.144C7.241 4.048 7.359 4 7.5 4C7.641 4 7.759 4.048 7.856 4.144C7.952 4.241 8 4.359 8 4.5L8 8.5C8 8.641 7.952 8.759 7.856 8.856ZM6.97 9.97C7.116 9.823 7.293 9.75 7.5 9.75C7.707 9.75 7.884 9.823 8.03 9.97C8.177 10.116 8.25 10.293 8.25 10.5C8.25 10.707 8.177 10.884 8.03 11.03C7.884 11.177 7.707 11.25 7.5 11.25C7.293 11.25 7.116 11.177 6.97 11.03C6.823 10.884 6.75 10.707 6.75 10.5C6.75 10.293 6.823 10.116 6.97 9.97Z" />
</svg>
```

### HTML img

```html
<!-- Gentleface "shield-alert" (line-round), MIT. https://gentleface.com/icons/shield-alert. An <img> can't take currentColor: it draws black. Inline the SVG or use the CSS mask to color it. -->
<img src="https://gentleface.com/svg/line-round/16/shield-alert.svg" width="16" height="16" alt="">
```

### CSS

```css
/* Gentleface "shield-alert" (line-round), MIT. https://gentleface.com/icons/shield-alert. Takes the text color. */
.icon-shield-alert {
  display: inline-block;
  width: 16px;
  height: 16px;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='currentColor'%3E%3Cpath d='M12.528 10.763C12.243 11.414 11.835 12.024 11.302 12.592C10.825 13.101 10.259 13.565 9.605 13.984C9.015 14.362 8.375 14.689 7.686 14.964C7.562 15.014 7.438 15.014 7.314 14.964C6.625 14.689 5.985 14.362 5.395 13.984C4.741 13.565 4.175 13.101 3.698 12.592C3.165 12.024 2.757 11.414 2.472 10.763C2.157 10.044 2 9.29 2 8.5L2 3.5C2 3.359 2.048 3.241 2.144 3.144C2.241 3.048 2.359 3 2.5 3C3.471 3 4.307 2.865 5.008 2.596C5.754 2.309 6.467 1.826 7.146 1.146C7.244 1.049 7.362 1 7.5 1C7.638 1 7.756 1.049 7.854 1.146C8.533 1.826 9.246 2.309 9.992 2.596C10.693 2.865 11.529 3 12.5 3C12.641 3 12.759 3.048 12.856 3.144C12.952 3.241 13 3.359 13 3.5L13 8.5C13 9.29 12.843 10.044 12.528 10.763ZM4.427 11.908C4.848 12.357 5.35 12.768 5.934 13.141C6.418 13.451 6.94 13.724 7.5 13.96C8.06 13.724 8.582 13.451 9.066 13.141C9.65 12.768 10.152 12.357 10.573 11.908C11.524 10.893 12 9.757 12 8.5L12 3.989C11.111 3.947 10.322 3.794 9.633 3.529C8.886 3.242 8.175 2.795 7.5 2.189C6.825 2.795 6.114 3.242 5.367 3.529C4.678 3.794 3.889 3.947 3 3.989L3 8.5C3 9.757 3.476 10.893 4.427 11.908ZM7.856 8.856C7.759 8.952 7.641 9 7.5 9C7.359 9 7.241 8.952 7.144 8.856C7.048 8.759 7 8.641 7 8.5L7 4.5C7 4.359 7.048 4.241 7.144 4.144C7.241 4.048 7.359 4 7.5 4C7.641 4 7.759 4.048 7.856 4.144C7.952 4.241 8 4.359 8 4.5L8 8.5C8 8.641 7.952 8.759 7.856 8.856ZM6.97 9.97C7.116 9.823 7.293 9.75 7.5 9.75C7.707 9.75 7.884 9.823 8.03 9.97C8.177 10.116 8.25 10.293 8.25 10.5C8.25 10.707 8.177 10.884 8.03 11.03C7.884 11.177 7.707 11.25 7.5 11.25C7.293 11.25 7.116 11.177 6.97 11.03C6.823 10.884 6.75 10.707 6.75 10.5C6.75 10.293 6.823 10.116 6.97 9.97Z'/%3E%3C/svg%3E") center / 16px 16px no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='currentColor'%3E%3Cpath d='M12.528 10.763C12.243 11.414 11.835 12.024 11.302 12.592C10.825 13.101 10.259 13.565 9.605 13.984C9.015 14.362 8.375 14.689 7.686 14.964C7.562 15.014 7.438 15.014 7.314 14.964C6.625 14.689 5.985 14.362 5.395 13.984C4.741 13.565 4.175 13.101 3.698 12.592C3.165 12.024 2.757 11.414 2.472 10.763C2.157 10.044 2 9.29 2 8.5L2 3.5C2 3.359 2.048 3.241 2.144 3.144C2.241 3.048 2.359 3 2.5 3C3.471 3 4.307 2.865 5.008 2.596C5.754 2.309 6.467 1.826 7.146 1.146C7.244 1.049 7.362 1 7.5 1C7.638 1 7.756 1.049 7.854 1.146C8.533 1.826 9.246 2.309 9.992 2.596C10.693 2.865 11.529 3 12.5 3C12.641 3 12.759 3.048 12.856 3.144C12.952 3.241 13 3.359 13 3.5L13 8.5C13 9.29 12.843 10.044 12.528 10.763ZM4.427 11.908C4.848 12.357 5.35 12.768 5.934 13.141C6.418 13.451 6.94 13.724 7.5 13.96C8.06 13.724 8.582 13.451 9.066 13.141C9.65 12.768 10.152 12.357 10.573 11.908C11.524 10.893 12 9.757 12 8.5L12 3.989C11.111 3.947 10.322 3.794 9.633 3.529C8.886 3.242 8.175 2.795 7.5 2.189C6.825 2.795 6.114 3.242 5.367 3.529C4.678 3.794 3.889 3.947 3 3.989L3 8.5C3 9.757 3.476 10.893 4.427 11.908ZM7.856 8.856C7.759 8.952 7.641 9 7.5 9C7.359 9 7.241 8.952 7.144 8.856C7.048 8.759 7 8.641 7 8.5L7 4.5C7 4.359 7.048 4.241 7.144 4.144C7.241 4.048 7.359 4 7.5 4C7.641 4 7.759 4.048 7.856 4.144C7.952 4.241 8 4.359 8 4.5L8 8.5C8 8.641 7.952 8.759 7.856 8.856ZM6.97 9.97C7.116 9.823 7.293 9.75 7.5 9.75C7.707 9.75 7.884 9.823 8.03 9.97C8.177 10.116 8.25 10.293 8.25 10.5C8.25 10.707 8.177 10.884 8.03 11.03C7.884 11.177 7.707 11.25 7.5 11.25C7.293 11.25 7.116 11.177 6.97 11.03C6.823 10.884 6.75 10.707 6.75 10.5C6.75 10.293 6.823 10.116 6.97 9.97Z'/%3E%3C/svg%3E") center / 16px 16px no-repeat;
}
```

### Data URL

```text
data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='currentColor'%3E%3Cpath d='M12.528 10.763C12.243 11.414 11.835 12.024 11.302 12.592C10.825 13.101 10.259 13.565 9.605 13.984C9.015 14.362 8.375 14.689 7.686 14.964C7.562 15.014 7.438 15.014 7.314 14.964C6.625 14.689 5.985 14.362 5.395 13.984C4.741 13.565 4.175 13.101 3.698 12.592C3.165 12.024 2.757 11.414 2.472 10.763C2.157 10.044 2 9.29 2 8.5L2 3.5C2 3.359 2.048 3.241 2.144 3.144C2.241 3.048 2.359 3 2.5 3C3.471 3 4.307 2.865 5.008 2.596C5.754 2.309 6.467 1.826 7.146 1.146C7.244 1.049 7.362 1 7.5 1C7.638 1 7.756 1.049 7.854 1.146C8.533 1.826 9.246 2.309 9.992 2.596C10.693 2.865 11.529 3 12.5 3C12.641 3 12.759 3.048 12.856 3.144C12.952 3.241 13 3.359 13 3.5L13 8.5C13 9.29 12.843 10.044 12.528 10.763ZM4.427 11.908C4.848 12.357 5.35 12.768 5.934 13.141C6.418 13.451 6.94 13.724 7.5 13.96C8.06 13.724 8.582 13.451 9.066 13.141C9.65 12.768 10.152 12.357 10.573 11.908C11.524 10.893 12 9.757 12 8.5L12 3.989C11.111 3.947 10.322 3.794 9.633 3.529C8.886 3.242 8.175 2.795 7.5 2.189C6.825 2.795 6.114 3.242 5.367 3.529C4.678 3.794 3.889 3.947 3 3.989L3 8.5C3 9.757 3.476 10.893 4.427 11.908ZM7.856 8.856C7.759 8.952 7.641 9 7.5 9C7.359 9 7.241 8.952 7.144 8.856C7.048 8.759 7 8.641 7 8.5L7 4.5C7 4.359 7.048 4.241 7.144 4.144C7.241 4.048 7.359 4 7.5 4C7.641 4 7.759 4.048 7.856 4.144C7.952 4.241 8 4.359 8 4.5L8 8.5C8 8.641 7.952 8.759 7.856 8.856ZM6.97 9.97C7.116 9.823 7.293 9.75 7.5 9.75C7.707 9.75 7.884 9.823 8.03 9.97C8.177 10.116 8.25 10.293 8.25 10.5C8.25 10.707 8.177 10.884 8.03 11.03C7.884 11.177 7.707 11.25 7.5 11.25C7.293 11.25 7.116 11.177 6.97 11.03C6.823 10.884 6.75 10.707 6.75 10.5C6.75 10.293 6.823 10.116 6.97 9.97Z'/%3E%3C/svg%3E
```

### Sprite

```html
<!-- Gentleface "shield-alert" (line-round), MIT. https://gentleface.com/icons/shield-alert
     Every icon of this style in one file: https://gentleface.com/sprite/line-round.svg
     Serve it from your own origin: <use> does not load from another origin. -->
<svg width="16" height="16" aria-hidden="true"><use href="/sprite/line-round.svg#shield-alert"/></svg>
```

### SwiftUI

```swift
// Gentleface "shield-alert" (line-round), MIT. https://gentleface.com/icons/shield-alert
import SwiftUI

struct ShieldAlertIcon: Shape {
    func path(in rect: CGRect) -> Path {
        var p = Path()
        p.move(to: CGPoint(x: 12.528, y: 10.763))
        p.addCurve(to: CGPoint(x: 11.302, y: 12.592), control1: CGPoint(x: 12.243, y: 11.414), control2: CGPoint(x: 11.835, y: 12.024))
        p.addCurve(to: CGPoint(x: 9.605, y: 13.984), control1: CGPoint(x: 10.825, y: 13.101), control2: CGPoint(x: 10.259, y: 13.565))
        p.addCurve(to: CGPoint(x: 7.686, y: 14.964), control1: CGPoint(x: 9.015, y: 14.362), control2: CGPoint(x: 8.375, y: 14.689))
        p.addCurve(to: CGPoint(x: 7.314, y: 14.964), control1: CGPoint(x: 7.562, y: 15.014), control2: CGPoint(x: 7.438, y: 15.014))
        p.addCurve(to: CGPoint(x: 5.395, y: 13.984), control1: CGPoint(x: 6.625, y: 14.689), control2: CGPoint(x: 5.985, y: 14.362))
        p.addCurve(to: CGPoint(x: 3.698, y: 12.592), control1: CGPoint(x: 4.741, y: 13.565), control2: CGPoint(x: 4.175, y: 13.101))
        p.addCurve(to: CGPoint(x: 2.472, y: 10.763), control1: CGPoint(x: 3.165, y: 12.024), control2: CGPoint(x: 2.757, y: 11.414))
        p.addCurve(to: CGPoint(x: 2, y: 8.5), control1: CGPoint(x: 2.157, y: 10.044), control2: CGPoint(x: 2, y: 9.29))
        p.addLine(to: CGPoint(x: 2, y: 3.5))
        p.addCurve(to: CGPoint(x: 2.144, y: 3.144), control1: CGPoint(x: 2, y: 3.359), control2: CGPoint(x: 2.048, y: 3.241))
        p.addCurve(to: CGPoint(x: 2.5, y: 3), control1: CGPoint(x: 2.241, y: 3.048), control2: CGPoint(x: 2.359, y: 3))
        p.addCurve(to: CGPoint(x: 5.008, y: 2.596), control1: CGPoint(x: 3.471, y: 3), control2: CGPoint(x: 4.307, y: 2.865))
        p.addCurve(to: CGPoint(x: 7.146, y: 1.146), control1: CGPoint(x: 5.754, y: 2.309), control2: CGPoint(x: 6.467, y: 1.826))
        p.addCurve(to: CGPoint(x: 7.5, y: 1), control1: CGPoint(x: 7.244, y: 1.049), control2: CGPoint(x: 7.362, y: 1))
        p.addCurve(to: CGPoint(x: 7.854, y: 1.146), control1: CGPoint(x: 7.638, y: 1), control2: CGPoint(x: 7.756, y: 1.049))
        p.addCurve(to: CGPoint(x: 9.992, y: 2.596), control1: CGPoint(x: 8.533, y: 1.826), control2: CGPoint(x: 9.246, y: 2.309))
        p.addCurve(to: CGPoint(x: 12.5, y: 3), control1: CGPoint(x: 10.693, y: 2.865), control2: CGPoint(x: 11.529, y: 3))
        p.addCurve(to: CGPoint(x: 12.856, y: 3.144), control1: CGPoint(x: 12.641, y: 3), control2: CGPoint(x: 12.759, y: 3.048))
        p.addCurve(to: CGPoint(x: 13, y: 3.5), control1: CGPoint(x: 12.952, y: 3.241), control2: CGPoint(x: 13, y: 3.359))
        p.addLine(to: CGPoint(x: 13, y: 8.5))
        p.addCurve(to: CGPoint(x: 12.528, y: 10.763), control1: CGPoint(x: 13, y: 9.29), control2: CGPoint(x: 12.843, y: 10.044))
        p.closeSubpath()
        p.move(to: CGPoint(x: 4.427, y: 11.908))
        p.addCurve(to: CGPoint(x: 5.934, y: 13.141), control1: CGPoint(x: 4.848, y: 12.357), control2: CGPoint(x: 5.35, y: 12.768))
        p.addCurve(to: CGPoint(x: 7.5, y: 13.96), control1: CGPoint(x: 6.418, y: 13.451), control2: CGPoint(x: 6.94, y: 13.724))
        p.addCurve(to: CGPoint(x: 9.066, y: 13.141), control1: CGPoint(x: 8.06, y: 13.724), control2: CGPoint(x: 8.582, y: 13.451))
        p.addCurve(to: CGPoint(x: 10.573, y: 11.908), control1: CGPoint(x: 9.65, y: 12.768), control2: CGPoint(x: 10.152, y: 12.357))
        p.addCurve(to: CGPoint(x: 12, y: 8.5), control1: CGPoint(x: 11.524, y: 10.893), control2: CGPoint(x: 12, y: 9.757))
        p.addLine(to: CGPoint(x: 12, y: 3.989))
        p.addCurve(to: CGPoint(x: 9.633, y: 3.529), control1: CGPoint(x: 11.111, y: 3.947), control2: CGPoint(x: 10.322, y: 3.794))
        p.addCurve(to: CGPoint(x: 7.5, y: 2.189), control1: CGPoint(x: 8.886, y: 3.242), control2: CGPoint(x: 8.175, y: 2.795))
        p.addCurve(to: CGPoint(x: 5.367, y: 3.529), control1: CGPoint(x: 6.825, y: 2.795), control2: CGPoint(x: 6.114, y: 3.242))
        p.addCurve(to: CGPoint(x: 3, y: 3.989), control1: CGPoint(x: 4.678, y: 3.794), control2: CGPoint(x: 3.889, y: 3.947))
        p.addLine(to: CGPoint(x: 3, y: 8.5))
        p.addCurve(to: CGPoint(x: 4.427, y: 11.908), control1: CGPoint(x: 3, y: 9.757), control2: CGPoint(x: 3.476, y: 10.893))
        p.closeSubpath()
        p.move(to: CGPoint(x: 7.856, y: 8.856))
        p.addCurve(to: CGPoint(x: 7.5, y: 9), control1: CGPoint(x: 7.759, y: 8.952), control2: CGPoint(x: 7.641, y: 9))
        p.addCurve(to: CGPoint(x: 7.144, y: 8.856), control1: CGPoint(x: 7.359, y: 9), control2: CGPoint(x: 7.241, y: 8.952))
        p.addCurve(to: CGPoint(x: 7, y: 8.5), control1: CGPoint(x: 7.048, y: 8.759), control2: CGPoint(x: 7, y: 8.641))
        p.addLine(to: CGPoint(x: 7, y: 4.5))
        p.addCurve(to: CGPoint(x: 7.144, y: 4.144), control1: CGPoint(x: 7, y: 4.359), control2: CGPoint(x: 7.048, y: 4.241))
        p.addCurve(to: CGPoint(x: 7.5, y: 4), control1: CGPoint(x: 7.241, y: 4.048), control2: CGPoint(x: 7.359, y: 4))
        p.addCurve(to: CGPoint(x: 7.856, y: 4.144), control1: CGPoint(x: 7.641, y: 4), control2: CGPoint(x: 7.759, y: 4.048))
        p.addCurve(to: CGPoint(x: 8, y: 4.5), control1: CGPoint(x: 7.952, y: 4.241), control2: CGPoint(x: 8, y: 4.359))
        p.addLine(to: CGPoint(x: 8, y: 8.5))
        p.addCurve(to: CGPoint(x: 7.856, y: 8.856), control1: CGPoint(x: 8, y: 8.641), control2: CGPoint(x: 7.952, y: 8.759))
        p.closeSubpath()
        p.move(to: CGPoint(x: 6.97, y: 9.97))
        p.addCurve(to: CGPoint(x: 7.5, y: 9.75), control1: CGPoint(x: 7.116, y: 9.823), control2: CGPoint(x: 7.293, y: 9.75))
        p.addCurve(to: CGPoint(x: 8.03, y: 9.97), control1: CGPoint(x: 7.707, y: 9.75), control2: CGPoint(x: 7.884, y: 9.823))
        p.addCurve(to: CGPoint(x: 8.25, y: 10.5), control1: CGPoint(x: 8.177, y: 10.116), control2: CGPoint(x: 8.25, y: 10.293))
        p.addCurve(to: CGPoint(x: 8.03, y: 11.03), control1: CGPoint(x: 8.25, y: 10.707), control2: CGPoint(x: 8.177, y: 10.884))
        p.addCurve(to: CGPoint(x: 7.5, y: 11.25), control1: CGPoint(x: 7.884, y: 11.177), control2: CGPoint(x: 7.707, y: 11.25))
        p.addCurve(to: CGPoint(x: 6.97, y: 11.03), control1: CGPoint(x: 7.293, y: 11.25), control2: CGPoint(x: 7.116, y: 11.177))
        p.addCurve(to: CGPoint(x: 6.75, y: 10.5), control1: CGPoint(x: 6.823, y: 10.884), control2: CGPoint(x: 6.75, y: 10.707))
        p.addCurve(to: CGPoint(x: 6.97, y: 9.97), control1: CGPoint(x: 6.75, y: 10.293), control2: CGPoint(x: 6.823, y: 10.116))
        p.closeSubpath()
        return p.applying(CGAffineTransform(scaleX: rect.width / 16, y: rect.height / 16))
    }
}

// ShieldAlertIcon().frame(width: 16, height: 16) fills with the foreground style. Keep it on whole points to stay crisp.
```

### Compose

```kotlin
// Gentleface "shield-alert" (line-round), MIT. https://gentleface.com/icons/shield-alert
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.addPathNodes
import androidx.compose.ui.unit.dp

val ShieldAlertIcon: ImageVector by lazy {
    ImageVector.Builder(
        name = "shield-alert", defaultWidth = 16.dp, defaultHeight = 16.dp,
        viewportWidth = 16f, viewportHeight = 16f,
    ).addPath(
        pathData = addPathNodes("M12.528 10.763C12.243 11.414 11.835 12.024 11.302 12.592C10.825 13.101 10.259 13.565 9.605 13.984C9.015 14.362 8.375 14.689 7.686 14.964C7.562 15.014 7.438 15.014 7.314 14.964C6.625 14.689 5.985 14.362 5.395 13.984C4.741 13.565 4.175 13.101 3.698 12.592C3.165 12.024 2.757 11.414 2.472 10.763C2.157 10.044 2 9.29 2 8.5L2 3.5C2 3.359 2.048 3.241 2.144 3.144C2.241 3.048 2.359 3 2.5 3C3.471 3 4.307 2.865 5.008 2.596C5.754 2.309 6.467 1.826 7.146 1.146C7.244 1.049 7.362 1 7.5 1C7.638 1 7.756 1.049 7.854 1.146C8.533 1.826 9.246 2.309 9.992 2.596C10.693 2.865 11.529 3 12.5 3C12.641 3 12.759 3.048 12.856 3.144C12.952 3.241 13 3.359 13 3.5L13 8.5C13 9.29 12.843 10.044 12.528 10.763ZM4.427 11.908C4.848 12.357 5.35 12.768 5.934 13.141C6.418 13.451 6.94 13.724 7.5 13.96C8.06 13.724 8.582 13.451 9.066 13.141C9.65 12.768 10.152 12.357 10.573 11.908C11.524 10.893 12 9.757 12 8.5L12 3.989C11.111 3.947 10.322 3.794 9.633 3.529C8.886 3.242 8.175 2.795 7.5 2.189C6.825 2.795 6.114 3.242 5.367 3.529C4.678 3.794 3.889 3.947 3 3.989L3 8.5C3 9.757 3.476 10.893 4.427 11.908ZM7.856 8.856C7.759 8.952 7.641 9 7.5 9C7.359 9 7.241 8.952 7.144 8.856C7.048 8.759 7 8.641 7 8.5L7 4.5C7 4.359 7.048 4.241 7.144 4.144C7.241 4.048 7.359 4 7.5 4C7.641 4 7.759 4.048 7.856 4.144C7.952 4.241 8 4.359 8 4.5L8 8.5C8 8.641 7.952 8.759 7.856 8.856ZM6.97 9.97C7.116 9.823 7.293 9.75 7.5 9.75C7.707 9.75 7.884 9.823 8.03 9.97C8.177 10.116 8.25 10.293 8.25 10.5C8.25 10.707 8.177 10.884 8.03 11.03C7.884 11.177 7.707 11.25 7.5 11.25C7.293 11.25 7.116 11.177 6.97 11.03C6.823 10.884 6.75 10.707 6.75 10.5C6.75 10.293 6.823 10.116 6.97 9.97Z"),
        fill = SolidColor(Color.Black),
    ).build()
}

// Icon(ShieldAlertIcon, contentDescription = null) tints it with LocalContentColor.
```

### Android XML

```xml
<!-- res/drawable/ic_shield_alert.xml · Gentleface "shield-alert" (line-round), MIT. https://gentleface.com/icons/shield-alert -->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="16dp"
    android:height="16dp"
    android:viewportWidth="16"
    android:viewportHeight="16"
    android:tint="?attr/colorControlNormal">
  <path
      android:fillColor="@android:color/white"
      android:pathData="M12.528 10.763C12.243 11.414 11.835 12.024 11.302 12.592C10.825 13.101 10.259 13.565 9.605 13.984C9.015 14.362 8.375 14.689 7.686 14.964C7.562 15.014 7.438 15.014 7.314 14.964C6.625 14.689 5.985 14.362 5.395 13.984C4.741 13.565 4.175 13.101 3.698 12.592C3.165 12.024 2.757 11.414 2.472 10.763C2.157 10.044 2 9.29 2 8.5L2 3.5C2 3.359 2.048 3.241 2.144 3.144C2.241 3.048 2.359 3 2.5 3C3.471 3 4.307 2.865 5.008 2.596C5.754 2.309 6.467 1.826 7.146 1.146C7.244 1.049 7.362 1 7.5 1C7.638 1 7.756 1.049 7.854 1.146C8.533 1.826 9.246 2.309 9.992 2.596C10.693 2.865 11.529 3 12.5 3C12.641 3 12.759 3.048 12.856 3.144C12.952 3.241 13 3.359 13 3.5L13 8.5C13 9.29 12.843 10.044 12.528 10.763ZM4.427 11.908C4.848 12.357 5.35 12.768 5.934 13.141C6.418 13.451 6.94 13.724 7.5 13.96C8.06 13.724 8.582 13.451 9.066 13.141C9.65 12.768 10.152 12.357 10.573 11.908C11.524 10.893 12 9.757 12 8.5L12 3.989C11.111 3.947 10.322 3.794 9.633 3.529C8.886 3.242 8.175 2.795 7.5 2.189C6.825 2.795 6.114 3.242 5.367 3.529C4.678 3.794 3.889 3.947 3 3.989L3 8.5C3 9.757 3.476 10.893 4.427 11.908ZM7.856 8.856C7.759 8.952 7.641 9 7.5 9C7.359 9 7.241 8.952 7.144 8.856C7.048 8.759 7 8.641 7 8.5L7 4.5C7 4.359 7.048 4.241 7.144 4.144C7.241 4.048 7.359 4 7.5 4C7.641 4 7.759 4.048 7.856 4.144C7.952 4.241 8 4.359 8 4.5L8 8.5C8 8.641 7.952 8.759 7.856 8.856ZM6.97 9.97C7.116 9.823 7.293 9.75 7.5 9.75C7.707 9.75 7.884 9.823 8.03 9.97C8.177 10.116 8.25 10.293 8.25 10.5C8.25 10.707 8.177 10.884 8.03 11.03C7.884 11.177 7.707 11.25 7.5 11.25C7.293 11.25 7.116 11.177 6.97 11.03C6.823 10.884 6.75 10.707 6.75 10.5C6.75 10.293 6.823 10.116 6.97 9.97Z"/>
</vector>
```

### Flutter

```dart
// Gentleface "shield-alert" (line-round), MIT. https://gentleface.com/icons/shield-alert
import 'package:flutter/widgets.dart';

class ShieldAlertIcon extends StatelessWidget {
  const ShieldAlertIcon({super.key, this.size = 16, this.color});
  final double size;
  final Color? color;

  @override
  Widget build(BuildContext context) => CustomPaint(
        size: Size.square(size),
        painter: _ShieldAlertIconPainter(color ?? IconTheme.of(context).color ?? const Color(0xFF000000)),
      );
}

class _ShieldAlertIconPainter extends CustomPainter {
  _ShieldAlertIconPainter(this.color);
  final Color color;

  @override
  void paint(Canvas canvas, Size size) {
    canvas.scale(size.width / 16, size.height / 16);
    final p = Path()
      ..moveTo(12.528, 10.763)
      ..cubicTo(12.243, 11.414, 11.835, 12.024, 11.302, 12.592)
      ..cubicTo(10.825, 13.101, 10.259, 13.565, 9.605, 13.984)
      ..cubicTo(9.015, 14.362, 8.375, 14.689, 7.686, 14.964)
      ..cubicTo(7.562, 15.014, 7.438, 15.014, 7.314, 14.964)
      ..cubicTo(6.625, 14.689, 5.985, 14.362, 5.395, 13.984)
      ..cubicTo(4.741, 13.565, 4.175, 13.101, 3.698, 12.592)
      ..cubicTo(3.165, 12.024, 2.757, 11.414, 2.472, 10.763)
      ..cubicTo(2.157, 10.044, 2, 9.29, 2, 8.5)
      ..lineTo(2, 3.5)
      ..cubicTo(2, 3.359, 2.048, 3.241, 2.144, 3.144)
      ..cubicTo(2.241, 3.048, 2.359, 3, 2.5, 3)
      ..cubicTo(3.471, 3, 4.307, 2.865, 5.008, 2.596)
      ..cubicTo(5.754, 2.309, 6.467, 1.826, 7.146, 1.146)
      ..cubicTo(7.244, 1.049, 7.362, 1, 7.5, 1)
      ..cubicTo(7.638, 1, 7.756, 1.049, 7.854, 1.146)
      ..cubicTo(8.533, 1.826, 9.246, 2.309, 9.992, 2.596)
      ..cubicTo(10.693, 2.865, 11.529, 3, 12.5, 3)
      ..cubicTo(12.641, 3, 12.759, 3.048, 12.856, 3.144)
      ..cubicTo(12.952, 3.241, 13, 3.359, 13, 3.5)
      ..lineTo(13, 8.5)
      ..cubicTo(13, 9.29, 12.843, 10.044, 12.528, 10.763)
      ..close()
      ..moveTo(4.427, 11.908)
      ..cubicTo(4.848, 12.357, 5.35, 12.768, 5.934, 13.141)
      ..cubicTo(6.418, 13.451, 6.94, 13.724, 7.5, 13.96)
      ..cubicTo(8.06, 13.724, 8.582, 13.451, 9.066, 13.141)
      ..cubicTo(9.65, 12.768, 10.152, 12.357, 10.573, 11.908)
      ..cubicTo(11.524, 10.893, 12, 9.757, 12, 8.5)
      ..lineTo(12, 3.989)
      ..cubicTo(11.111, 3.947, 10.322, 3.794, 9.633, 3.529)
      ..cubicTo(8.886, 3.242, 8.175, 2.795, 7.5, 2.189)
      ..cubicTo(6.825, 2.795, 6.114, 3.242, 5.367, 3.529)
      ..cubicTo(4.678, 3.794, 3.889, 3.947, 3, 3.989)
      ..lineTo(3, 8.5)
      ..cubicTo(3, 9.757, 3.476, 10.893, 4.427, 11.908)
      ..close()
      ..moveTo(7.856, 8.856)
      ..cubicTo(7.759, 8.952, 7.641, 9, 7.5, 9)
      ..cubicTo(7.359, 9, 7.241, 8.952, 7.144, 8.856)
      ..cubicTo(7.048, 8.759, 7, 8.641, 7, 8.5)
      ..lineTo(7, 4.5)
      ..cubicTo(7, 4.359, 7.048, 4.241, 7.144, 4.144)
      ..cubicTo(7.241, 4.048, 7.359, 4, 7.5, 4)
      ..cubicTo(7.641, 4, 7.759, 4.048, 7.856, 4.144)
      ..cubicTo(7.952, 4.241, 8, 4.359, 8, 4.5)
      ..lineTo(8, 8.5)
      ..cubicTo(8, 8.641, 7.952, 8.759, 7.856, 8.856)
      ..close()
      ..moveTo(6.97, 9.97)
      ..cubicTo(7.116, 9.823, 7.293, 9.75, 7.5, 9.75)
      ..cubicTo(7.707, 9.75, 7.884, 9.823, 8.03, 9.97)
      ..cubicTo(8.177, 10.116, 8.25, 10.293, 8.25, 10.5)
      ..cubicTo(8.25, 10.707, 8.177, 10.884, 8.03, 11.03)
      ..cubicTo(7.884, 11.177, 7.707, 11.25, 7.5, 11.25)
      ..cubicTo(7.293, 11.25, 7.116, 11.177, 6.97, 11.03)
      ..cubicTo(6.823, 10.884, 6.75, 10.707, 6.75, 10.5)
      ..cubicTo(6.75, 10.293, 6.823, 10.116, 6.97, 9.97)
      ..close();
    canvas.drawPath(p, Paint()..color = color);
  }

  @override
  bool shouldRepaint(_ShieldAlertIconPainter old) => old.color != color;
}
```
