# shield-lock icon

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

- Category: Security & privacy
- Use it for: privacy, data protection, privacy settings, data privacy, gdpr
- Tags: shield, lock, padlock, privacy, data-protection, secure, protected, gdpr
- Family: shield, shield-alert, shield-check, shield-clock, shield-gear, shield-off, shield-pause, shield-plus, shield-question, shield-search, shield-sparkle, shield-sync, shield-x
- Component name: ShieldLockIcon
- Added: 2026-10-15

## Alternatives

- `incognito`: private browsing
- `shield-info`: a privacy notice

## Don't confuse with

- `lock`: lock means private or encrypted content
- `eye-off`: eye-off means hidden or not visible

## Also fits

- encrypted: privacy or data-protection features

## 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-lock.svg · PNG https://gentleface.com/png/line-round/16/shield-lock.png · https://gentleface.com/png/line-round/32/shield-lock.png · https://gentleface.com/png/line-round/48/shield-lock.png
- line-soft: https://gentleface.com/svg/line-soft/16/shield-lock.svg · PNG https://gentleface.com/png/line-soft/16/shield-lock.png · https://gentleface.com/png/line-soft/32/shield-lock.png · https://gentleface.com/png/line-soft/48/shield-lock.png
- line-sharp: https://gentleface.com/svg/line-sharp/16/shield-lock.svg · PNG https://gentleface.com/png/line-sharp/16/shield-lock.png · https://gentleface.com/png/line-sharp/32/shield-lock.png · https://gentleface.com/png/line-sharp/48/shield-lock.png
- solid-round: https://gentleface.com/svg/solid-round/16/shield-lock.svg · PNG https://gentleface.com/png/solid-round/16/shield-lock.png · https://gentleface.com/png/solid-round/32/shield-lock.png · https://gentleface.com/png/solid-round/48/shield-lock.png
- solid-soft: https://gentleface.com/svg/solid-soft/16/shield-lock.svg · PNG https://gentleface.com/png/solid-soft/16/shield-lock.png · https://gentleface.com/png/solid-soft/32/shield-lock.png · https://gentleface.com/png/solid-soft/48/shield-lock.png
- solid-sharp: https://gentleface.com/svg/solid-sharp/16/shield-lock.svg · PNG https://gentleface.com/png/solid-sharp/16/shield-lock.png · https://gentleface.com/png/solid-sharp/32/shield-lock.png · https://gentleface.com/png/solid-sharp/48/shield-lock.png

The SVG of every style: https://gentleface.com/icons/shield-lock.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.908ZM6.105 4.948C6.182 4.755 6.293 4.586 6.439 4.439C6.586 4.293 6.755 4.182 6.948 4.105C7.125 4.035 7.309 4 7.5 4C7.691 4 7.875 4.035 8.052 4.105C8.245 4.182 8.414 4.293 8.561 4.439C8.707 4.586 8.818 4.755 8.895 4.948C8.965 5.125 9 5.309 9 5.5L9 7L10 7L10 11L5 11L5 7L6 7L6 5.5C6 5.309 6.035 5.125 6.105 4.948ZM8 5.5C8 5.362 7.951 5.244 7.854 5.146C7.756 5.049 7.638 5 7.5 5C7.362 5 7.244 5.049 7.146 5.146C7.049 5.244 7 5.362 7 5.5L7 7L8 7L8 5.5Z"/></svg>
```

### React

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

export function ShieldLockIcon(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.908ZM6.105 4.948C6.182 4.755 6.293 4.586 6.439 4.439C6.586 4.293 6.755 4.182 6.948 4.105C7.125 4.035 7.309 4 7.5 4C7.691 4 7.875 4.035 8.052 4.105C8.245 4.182 8.414 4.293 8.561 4.439C8.707 4.586 8.818 4.755 8.895 4.948C8.965 5.125 9 5.309 9 5.5L9 7L10 7L10 11L5 11L5 7L6 7L6 5.5C6 5.309 6.035 5.125 6.105 4.948ZM8 5.5C8 5.362 7.951 5.244 7.854 5.146C7.756 5.049 7.638 5 7.5 5C7.362 5 7.244 5.049 7.146 5.146C7.049 5.244 7 5.362 7 5.5L7 7L8 7L8 5.5Z" />
    </svg>
  );
}
```

### Vue

```vue
<!-- Gentleface "shield-lock" (line-round), MIT. https://gentleface.com/icons/shield-lock -->
<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.908ZM6.105 4.948C6.182 4.755 6.293 4.586 6.439 4.439C6.586 4.293 6.755 4.182 6.948 4.105C7.125 4.035 7.309 4 7.5 4C7.691 4 7.875 4.035 8.052 4.105C8.245 4.182 8.414 4.293 8.561 4.439C8.707 4.586 8.818 4.755 8.895 4.948C8.965 5.125 9 5.309 9 5.5L9 7L10 7L10 11L5 11L5 7L6 7L6 5.5C6 5.309 6.035 5.125 6.105 4.948ZM8 5.5C8 5.362 7.951 5.244 7.854 5.146C7.756 5.049 7.638 5 7.5 5C7.362 5 7.244 5.049 7.146 5.146C7.049 5.244 7 5.362 7 5.5L7 7L8 7L8 5.5Z" />
  </svg>
</template>
```

### Svelte

```svelte
<!-- Gentleface "shield-lock" (line-round), MIT. https://gentleface.com/icons/shield-lock -->
<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.908ZM6.105 4.948C6.182 4.755 6.293 4.586 6.439 4.439C6.586 4.293 6.755 4.182 6.948 4.105C7.125 4.035 7.309 4 7.5 4C7.691 4 7.875 4.035 8.052 4.105C8.245 4.182 8.414 4.293 8.561 4.439C8.707 4.586 8.818 4.755 8.895 4.948C8.965 5.125 9 5.309 9 5.5L9 7L10 7L10 11L5 11L5 7L6 7L6 5.5C6 5.309 6.035 5.125 6.105 4.948ZM8 5.5C8 5.362 7.951 5.244 7.854 5.146C7.756 5.049 7.638 5 7.5 5C7.362 5 7.244 5.049 7.146 5.146C7.049 5.244 7 5.362 7 5.5L7 7L8 7L8 5.5Z" />
</svg>
```

### HTML img

```html
<!-- Gentleface "shield-lock" (line-round), MIT. https://gentleface.com/icons/shield-lock. 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-lock.svg" width="16" height="16" alt="">
```

### CSS

```css
/* Gentleface "shield-lock" (line-round), MIT. https://gentleface.com/icons/shield-lock. Takes the text color. */
.icon-shield-lock {
  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.908ZM6.105 4.948C6.182 4.755 6.293 4.586 6.439 4.439C6.586 4.293 6.755 4.182 6.948 4.105C7.125 4.035 7.309 4 7.5 4C7.691 4 7.875 4.035 8.052 4.105C8.245 4.182 8.414 4.293 8.561 4.439C8.707 4.586 8.818 4.755 8.895 4.948C8.965 5.125 9 5.309 9 5.5L9 7L10 7L10 11L5 11L5 7L6 7L6 5.5C6 5.309 6.035 5.125 6.105 4.948ZM8 5.5C8 5.362 7.951 5.244 7.854 5.146C7.756 5.049 7.638 5 7.5 5C7.362 5 7.244 5.049 7.146 5.146C7.049 5.244 7 5.362 7 5.5L7 7L8 7L8 5.5Z'/%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.908ZM6.105 4.948C6.182 4.755 6.293 4.586 6.439 4.439C6.586 4.293 6.755 4.182 6.948 4.105C7.125 4.035 7.309 4 7.5 4C7.691 4 7.875 4.035 8.052 4.105C8.245 4.182 8.414 4.293 8.561 4.439C8.707 4.586 8.818 4.755 8.895 4.948C8.965 5.125 9 5.309 9 5.5L9 7L10 7L10 11L5 11L5 7L6 7L6 5.5C6 5.309 6.035 5.125 6.105 4.948ZM8 5.5C8 5.362 7.951 5.244 7.854 5.146C7.756 5.049 7.638 5 7.5 5C7.362 5 7.244 5.049 7.146 5.146C7.049 5.244 7 5.362 7 5.5L7 7L8 7L8 5.5Z'/%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.908ZM6.105 4.948C6.182 4.755 6.293 4.586 6.439 4.439C6.586 4.293 6.755 4.182 6.948 4.105C7.125 4.035 7.309 4 7.5 4C7.691 4 7.875 4.035 8.052 4.105C8.245 4.182 8.414 4.293 8.561 4.439C8.707 4.586 8.818 4.755 8.895 4.948C8.965 5.125 9 5.309 9 5.5L9 7L10 7L10 11L5 11L5 7L6 7L6 5.5C6 5.309 6.035 5.125 6.105 4.948ZM8 5.5C8 5.362 7.951 5.244 7.854 5.146C7.756 5.049 7.638 5 7.5 5C7.362 5 7.244 5.049 7.146 5.146C7.049 5.244 7 5.362 7 5.5L7 7L8 7L8 5.5Z'/%3E%3C/svg%3E
```

### Sprite

```html
<!-- Gentleface "shield-lock" (line-round), MIT. https://gentleface.com/icons/shield-lock
     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-lock"/></svg>
```

### SwiftUI

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

struct ShieldLockIcon: 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: 6.105, y: 4.948))
        p.addCurve(to: CGPoint(x: 6.439, y: 4.439), control1: CGPoint(x: 6.182, y: 4.755), control2: CGPoint(x: 6.293, y: 4.586))
        p.addCurve(to: CGPoint(x: 6.948, y: 4.105), control1: CGPoint(x: 6.586, y: 4.293), control2: CGPoint(x: 6.755, y: 4.182))
        p.addCurve(to: CGPoint(x: 7.5, y: 4), control1: CGPoint(x: 7.125, y: 4.035), control2: CGPoint(x: 7.309, y: 4))
        p.addCurve(to: CGPoint(x: 8.052, y: 4.105), control1: CGPoint(x: 7.691, y: 4), control2: CGPoint(x: 7.875, y: 4.035))
        p.addCurve(to: CGPoint(x: 8.561, y: 4.439), control1: CGPoint(x: 8.245, y: 4.182), control2: CGPoint(x: 8.414, y: 4.293))
        p.addCurve(to: CGPoint(x: 8.895, y: 4.948), control1: CGPoint(x: 8.707, y: 4.586), control2: CGPoint(x: 8.818, y: 4.755))
        p.addCurve(to: CGPoint(x: 9, y: 5.5), control1: CGPoint(x: 8.965, y: 5.125), control2: CGPoint(x: 9, y: 5.309))
        p.addLine(to: CGPoint(x: 9, y: 7))
        p.addLine(to: CGPoint(x: 10, y: 7))
        p.addLine(to: CGPoint(x: 10, y: 11))
        p.addLine(to: CGPoint(x: 5, y: 11))
        p.addLine(to: CGPoint(x: 5, y: 7))
        p.addLine(to: CGPoint(x: 6, y: 7))
        p.addLine(to: CGPoint(x: 6, y: 5.5))
        p.addCurve(to: CGPoint(x: 6.105, y: 4.948), control1: CGPoint(x: 6, y: 5.309), control2: CGPoint(x: 6.035, y: 5.125))
        p.closeSubpath()
        p.move(to: CGPoint(x: 8, y: 5.5))
        p.addCurve(to: CGPoint(x: 7.854, y: 5.146), control1: CGPoint(x: 8, y: 5.362), control2: CGPoint(x: 7.951, y: 5.244))
        p.addCurve(to: CGPoint(x: 7.5, y: 5), control1: CGPoint(x: 7.756, y: 5.049), control2: CGPoint(x: 7.638, y: 5))
        p.addCurve(to: CGPoint(x: 7.146, y: 5.146), control1: CGPoint(x: 7.362, y: 5), control2: CGPoint(x: 7.244, y: 5.049))
        p.addCurve(to: CGPoint(x: 7, y: 5.5), control1: CGPoint(x: 7.049, y: 5.244), control2: CGPoint(x: 7, y: 5.362))
        p.addLine(to: CGPoint(x: 7, y: 7))
        p.addLine(to: CGPoint(x: 8, y: 7))
        p.addLine(to: CGPoint(x: 8, y: 5.5))
        p.closeSubpath()
        return p.applying(CGAffineTransform(scaleX: rect.width / 16, y: rect.height / 16))
    }
}

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

### Compose

```kotlin
// Gentleface "shield-lock" (line-round), MIT. https://gentleface.com/icons/shield-lock
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 ShieldLockIcon: ImageVector by lazy {
    ImageVector.Builder(
        name = "shield-lock", 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.908ZM6.105 4.948C6.182 4.755 6.293 4.586 6.439 4.439C6.586 4.293 6.755 4.182 6.948 4.105C7.125 4.035 7.309 4 7.5 4C7.691 4 7.875 4.035 8.052 4.105C8.245 4.182 8.414 4.293 8.561 4.439C8.707 4.586 8.818 4.755 8.895 4.948C8.965 5.125 9 5.309 9 5.5L9 7L10 7L10 11L5 11L5 7L6 7L6 5.5C6 5.309 6.035 5.125 6.105 4.948ZM8 5.5C8 5.362 7.951 5.244 7.854 5.146C7.756 5.049 7.638 5 7.5 5C7.362 5 7.244 5.049 7.146 5.146C7.049 5.244 7 5.362 7 5.5L7 7L8 7L8 5.5Z"),
        fill = SolidColor(Color.Black),
    ).build()
}

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

### Android XML

```xml
<!-- res/drawable/ic_shield_lock.xml · Gentleface "shield-lock" (line-round), MIT. https://gentleface.com/icons/shield-lock -->
<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.908ZM6.105 4.948C6.182 4.755 6.293 4.586 6.439 4.439C6.586 4.293 6.755 4.182 6.948 4.105C7.125 4.035 7.309 4 7.5 4C7.691 4 7.875 4.035 8.052 4.105C8.245 4.182 8.414 4.293 8.561 4.439C8.707 4.586 8.818 4.755 8.895 4.948C8.965 5.125 9 5.309 9 5.5L9 7L10 7L10 11L5 11L5 7L6 7L6 5.5C6 5.309 6.035 5.125 6.105 4.948ZM8 5.5C8 5.362 7.951 5.244 7.854 5.146C7.756 5.049 7.638 5 7.5 5C7.362 5 7.244 5.049 7.146 5.146C7.049 5.244 7 5.362 7 5.5L7 7L8 7L8 5.5Z"/>
</vector>
```

### Flutter

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

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

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

class _ShieldLockIconPainter extends CustomPainter {
  _ShieldLockIconPainter(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(6.105, 4.948)
      ..cubicTo(6.182, 4.755, 6.293, 4.586, 6.439, 4.439)
      ..cubicTo(6.586, 4.293, 6.755, 4.182, 6.948, 4.105)
      ..cubicTo(7.125, 4.035, 7.309, 4, 7.5, 4)
      ..cubicTo(7.691, 4, 7.875, 4.035, 8.052, 4.105)
      ..cubicTo(8.245, 4.182, 8.414, 4.293, 8.561, 4.439)
      ..cubicTo(8.707, 4.586, 8.818, 4.755, 8.895, 4.948)
      ..cubicTo(8.965, 5.125, 9, 5.309, 9, 5.5)
      ..lineTo(9, 7)
      ..lineTo(10, 7)
      ..lineTo(10, 11)
      ..lineTo(5, 11)
      ..lineTo(5, 7)
      ..lineTo(6, 7)
      ..lineTo(6, 5.5)
      ..cubicTo(6, 5.309, 6.035, 5.125, 6.105, 4.948)
      ..close()
      ..moveTo(8, 5.5)
      ..cubicTo(8, 5.362, 7.951, 5.244, 7.854, 5.146)
      ..cubicTo(7.756, 5.049, 7.638, 5, 7.5, 5)
      ..cubicTo(7.362, 5, 7.244, 5.049, 7.146, 5.146)
      ..cubicTo(7.049, 5.244, 7, 5.362, 7, 5.5)
      ..lineTo(7, 7)
      ..lineTo(8, 7)
      ..lineTo(8, 5.5)
      ..close();
    canvas.drawPath(p, Paint()..color = color);
  }

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