# Cobrowse SDK - Features
Annotations, masking, and advanced features.
## Overview
Cobrowse SDK includes features for privacy, collaboration, and customization.
## Annotations
Agents can draw and highlight on the shared screen.
### Enable Annotations
```javascript
const cobrowse = new ZoomCobrowse({
sdkKey: SDK_KEY,
token: token,
features: {
annotations: true
}
});
```
### Annotation Tools
| Tool | Description |
|------|-------------|
| Pointer | Highlight cursor position |
| Draw | Freehand drawing |
| Highlight | Transparent highlight |
| Arrow | Point to elements |
## Privacy Masking
Hide sensitive information from agents.
### Mask Elements
```html
Sensitive content
```
### Mask by CSS Selector
```javascript
const cobrowse = new ZoomCobrowse({
sdkKey: SDK_KEY,
token: token,
masking: {
selectors: [
'.sensitive-data',
'#credit-card-field',
'[data-private]'
]
}
});
```
## Bring Your Own PIN (BYOP)
Use your own PIN system instead of Zoom-generated PINs.
```javascript
const cobrowse = new ZoomCobrowse({
sdkKey: SDK_KEY,
token: token,
byop: {
enabled: true,
pin: 'YOUR_CUSTOM_PIN'
}
});
```
## Session Control
### End Session
```javascript
cobrowse.endSession();
```
### Pause/Resume
```javascript
cobrowse.pause();
cobrowse.resume();
```
### Events
```javascript
cobrowse.on('sessionStarted', (session) => {
console.log('Session started:', session.pin);
});
cobrowse.on('agentJoined', (agent) => {
console.log('Agent joined:', agent.name);
});
cobrowse.on('sessionEnded', () => {
console.log('Session ended');
});
```
## Resources
- **Features docs**: https://developers.zoom.us/docs/cobrowse-sdk/add-features/