> ## Documentation Index
> Fetch the complete documentation index at: https://docs.goguardian.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Support

> Submit a support case, and the GoGuardian Support team will follow up by email.

<iframe
  style={{width: "100%", border: "none", height: "820px"}}
  onLoad={(e) => {
const iframe = e.target;
const key = '__ggFormResizeHandler';
if (window[key]) window.removeEventListener('message', window[key]);
window[key] = (ev) => {
if (ev.data && ev.data.type === 'gg-form-resize') {
iframe.style.height = ev.data.height + 'px';
}
};
window.addEventListener('message', window[key]);
}}
  srcdoc={`<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style>
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:-apple-system,BlinkMacSystemFont,'Inter',sans-serif;font-size:14px;color:#262626;background:transparent;padding-bottom:8px}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 24px;margin-bottom:20px}
.field{display:flex;flex-direction:column;gap:6px}
.full{grid-column:1/-1}
label{font-size:13.5px;font-weight:500}
.req{color:#c0392b}
input,select,textarea{font-family:inherit;font-size:14px;border:1px solid #D0D0D0;border-radius:6px;padding:9px 12px;width:100%;background:#fff;color:#262626;outline:none}
input:focus,select:focus,textarea:focus{border-color:#0A59A3;box-shadow:0 0 0 3px rgba(10,89,163,0.12)}
select{padding-right:36px;-webkit-appearance:none;appearance:none;cursor:pointer}
.sw{position:relative}
.sw svg{position:absolute;right:12px;top:50%;transform:translateY(-50%);pointer-events:none}
textarea{resize:vertical}
.upload-area{border:2px dashed #D0D0D0;border-radius:6px;padding:20px 16px;text-align:center;cursor:pointer;transition:border-color 0.2s,background 0.2s}
.upload-area:hover,.upload-area.drag-over{border-color:#0A59A3;background:#f0f7ff}
.upload-area input[type=file]{display:none}
.upload-hint{color:#666;font-size:13px;margin-top:4px}
.upload-hint strong{color:#0A59A3}
.previews{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.thumb{position:relative;width:80px;height:80px;flex-shrink:0}
.thumb img{width:100%;height:100%;object-fit:cover;border-radius:4px;border:1px solid #D0D0D0}
.thumb-remove{position:absolute;top:-6px;right:-6px;background:#c0392b;color:#fff;border:none;border-radius:50%;width:18px;height:18px;font-size:13px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
button[type=submit]{background:#0A59A3;color:#fff;border:none;border-radius:6px;padding:11px 28px;font-family:inherit;font-size:14px;font-weight:500;cursor:pointer}
button[type=submit]:hover{background:#084d8a}
@media (prefers-color-scheme: dark){
:root{color-scheme:dark}
body{color:#e5e5e5}
input,select,textarea{background:#2a2a2a;color:#e5e5e5;border-color:#4a4a4a}
input:focus,select:focus,textarea:focus{border-color:#4a90d9;box-shadow:0 0 0 3px rgba(74,144,217,0.18)}
input::placeholder,textarea::placeholder{color:#777}
.upload-area{border-color:#4a4a4a}
.upload-area:hover,.upload-area.drag-over{border-color:#4a90d9;background:#1a2d45}
.upload-hint{color:#999}
.thumb img{border-color:#4a4a4a}
}
</style>
</head>
<body>
<form id="f">
<div class="grid">
<div class="field">
<label>Name <span class="req">*</span></label>
<input type="text" name="name" placeholder="Your full name" required>
</div>
<div class="field">
<label>Email <span class="req">*</span></label>
<input type="email" name="email" placeholder="you@yourdistrict.org" required>
</div>
<div class="field">
<label>State <span class="req">*</span></label>
<div class="sw">
<select name="state" required>
<option value="">Select a state</option>
<option>Alabama</option><option>Alaska</option><option>Arizona</option>
<option>Arkansas</option><option>California</option><option>Colorado</option>
<option>Connecticut</option><option>Delaware</option><option>Florida</option>
<option>Georgia</option><option>Hawaii</option><option>Idaho</option>
<option>Illinois</option><option>Indiana</option><option>Iowa</option>
<option>Kansas</option><option>Kentucky</option><option>Louisiana</option>
<option>Maine</option><option>Maryland</option><option>Massachusetts</option>
<option>Michigan</option><option>Minnesota</option><option>Mississippi</option>
<option>Missouri</option><option>Montana</option><option>Nebraska</option>
<option>Nevada</option><option>New Hampshire</option><option>New Jersey</option>
<option>New Mexico</option><option>New York</option><option>North Carolina</option>
<option>North Dakota</option><option>Ohio</option><option>Oklahoma</option>
<option>Oregon</option><option>Pennsylvania</option><option>Rhode Island</option>
<option>South Carolina</option><option>South Dakota</option><option>Tennessee</option>
<option>Texas</option><option>Utah</option><option>Vermont</option>
<option>Virginia</option><option>Washington</option><option>West Virginia</option>
<option>Wisconsin</option><option>Wyoming</option><option>Washington D.C.</option>
</select>
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"><path fill="#666" d="M6 8L1 3h10z"/></svg>
</div>
</div>
<div class="field">
<label>Product <span class="req">*</span></label>
<div class="sw">
<select name="product" required>
<option value="">Select a product</option>
<optgroup label="GoGuardian">
<option>Admin</option>
<option>Beacon</option>
<option>Discover</option>
<option>DNS</option>
<option>Fleet</option>
<option>Hall Pass</option>
<option>Org Management</option>
<option>Teacher</option>
</optgroup>
<optgroup label="Pear Deck Learning">
<option>Pear Assessment</option>
<option>Pear Deck</option>
<option>Pear Practice</option>
<option>Pear Start</option>
</optgroup>
</select>
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"><path fill="#666" d="M6 8L1 3h10z"/></svg>
</div>
</div>
<div class="field">
<label>Impact <span class="req">*</span></label>
<div class="sw">
<select name="impact" required>
<option value="">Select a category</option>
<option>Full Outage</option>
<option>Partial Outage</option>
<option>Feature Not Working as Expected</option>
<option>General Question or Access Issue</option>
</select>
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"><path fill="#666" d="M6 8L1 3h10z"/></svg>
</div>
</div>
<div class="field">
<label>Subject <span class="req">*</span></label>
<input type="text" name="subject" placeholder="Brief summary of your issue" required>
</div>
<div class="field full">
<label>Description <span class="req">*</span></label>
<textarea name="description" placeholder="Describe your issue in detail. Include any error messages, affected users, and steps you have already tried." rows="10" required></textarea>
</div>
<div class="field full">
<label>Screenshots</label>
<div class="upload-area" id="upload-area">
<input type="file" id="screenshots" accept="image/*" multiple>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#aaa" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/><polyline points="17 8 12 3 7 8"/><line x1="12" y1="3" x2="12" y2="15"/></svg>
<div class="upload-hint"><strong>Click to upload</strong> or drag and drop</div>
<div class="upload-hint">PNG, JPG, GIF up to 10 MB each</div>
</div>
<div class="previews" id="previews"></div>
</div>
</div>
<button type="submit">Submit Case</button>
</form>
<script>
var uploadArea = document.getElementById('upload-area');
var fileInput = document.getElementById('screenshots');
var previews = document.getElementById('previews');

uploadArea.addEventListener('click', function() { fileInput.click(); });
uploadArea.addEventListener('dragover', function(e) { e.preventDefault(); uploadArea.classList.add('drag-over'); });
uploadArea.addEventListener('dragleave', function() { uploadArea.classList.remove('drag-over'); });
uploadArea.addEventListener('drop', function(e) {
e.preventDefault();
uploadArea.classList.remove('drag-over');
addFiles(e.dataTransfer.files);
});
fileInput.addEventListener('change', function() {
addFiles(fileInput.files);
fileInput.value = '';
});

function addFiles(list) {
Array.from(list).forEach(function(file) {
if (!file.type.startsWith('image/')) return;
var reader = new FileReader();
reader.onload = function(ev) {
var thumb = document.createElement('div');
thumb.className = 'thumb';
var img = document.createElement('img');
img.src = ev.target.result;
img.alt = file.name;
var btn = document.createElement('button');
btn.className = 'thumb-remove';
btn.type = 'button';
btn.setAttribute('aria-label', 'Remove');
btn.innerHTML = '&#xD7;';
btn.onclick = function() {
thumb.remove();
resize();
};
thumb.appendChild(img);
thumb.appendChild(btn);
previews.appendChild(thumb);
resize();
};
reader.readAsDataURL(file);
});
}

function resize() {
parent.postMessage({ type: 'gg-form-resize', height: document.body.scrollHeight + 20 }, '*');
}

document.getElementById('f').addEventListener('submit', function(e) {
e.preventDefault();
window.open('https://support.goguardian.com/s/', '_blank');
});

new ResizeObserver(resize).observe(document.body);
</script>
</body>
</html>`}
/>
