Documentation
Attestations and evidence
Open a control record, sign off controls, attach and verify evidence, mark controls as not applicable and export a Statement of Applicability.
Overview
Automated checks cover the controls DeviceQuest measures. For the remaining controls, and for gaps you decide to live with, you record a decision: a sign-off (attestation) backed by evidence files, or an applicability decision that takes a control out of scope. All of this happens in the control record. The Evidence tab then lists every file for the framework, and the Statement of Applicability export gives your auditor the full scope decision.
The control record
Open a control from the Controls tab of Compliance: click its row, its View button, or Open full control record in the expanded row. You can also click a bar in Control posture or a control ID in Framework crosswalk. The record opens as a side sheet.
- Header: the control ID and title, with chips for the framework, severity and status (or Excluded). The control’s short description follows.
- What this control requires: the catalog text of the control, followed by Why it is in scope.
- Affected assets: for a failing control or one that needs attention, the assets behind the finding, grouped by reason.
- Mark not applicable: records that this control does not apply to your organization.
- + Attest: opens the sign-off form.
- Link to attestation: the sign-off that the next uploaded file is linked to.
- + Upload file: picks an evidence file to upload.
- Drop zone: drag a file here to upload it.
Close the record with ×, x or Esc. The record’s address contains the control, so you can share a link straight to it.
Affected assets
The Affected assets (n) panel lists up to 25 assets, grouped by reason, each with a suggested fix:
| Reason | Suggested fix |
|---|---|
| Critical vulnerability | Remediate or accept the critical findings on this asset. |
| High-severity vulnerability | Remediate or accept the high-severity findings on this asset. |
| No owner assigned | Assign an owner so accountability is recorded. |
| No software inventory collected | Run a credentialed scan to collect installed software. |
| Not seen recently | Rescan — this asset has not been seen inside the freshness window. |
Click an asset name to open the asset. When a finding applies to the whole tenant rather than to specific assets, the panel says so.
Mark a control as not applicable
Exclude a control when it does not apply to your organization, for example a wireless control in an estate with no wireless networks. An excluded control keeps its status but drops out of every count, and your justification goes into the Statement of Applicability.
- Why doesn’t this control apply?: your justification. It is required and becomes part of the Statement of Applicability.
- Mark not applicable: saves the decision.
- Open the control record.
- Under Applicability, click Mark not applicable.
- Enter the reason in Why doesn’t this control apply?. If you leave it empty, the form shows A reason is required.
- Click Mark not applicable.
The Applicability section then shows Excluded · reviewed {time}, your justification, and Decided {date} by {name}.
Review an exclusion
Review every exclusion at least once a year. When the last review is more than 365 days old, the section adds — due for review.
- Click Still correct to confirm the decision. This records today as the review date and keeps the justification.
- Click Mark applicable again to bring the control back into scope.
Every applicability change is written to the audit log.
Attest a control
A sign-off records a decision, attributed to you, about a control:
- On a monitored control that fails or needs attention, a sign-off backed by evidence records formal acceptance of the gap. The control then reads Accepted risk. It stays counted among the open findings and never becomes Passing.
- On a manual control, signing off is how the control is satisfied. With evidence attached, it reads Attested.
A sign-off takes effect once evidence is linked to it. Attach evidence and link it to the sign-off to complete it.
- Disclosure: explains what the sign-off does for this kind of control.
- Notes: optional context the auditor will read.
- Expires (optional): the date the sign-off lapses. Leave it empty for a sign-off that does not lapse.
- Submit attestation: records the sign-off.
- Open the control record.
- Under Attestations, click + Attest.
- Optionally, enter Notes.
- Optionally, set Expires (optional). The sign-off counts up to the end of that day (UTC).
- Click Submit attestation. The record shows Sign-off recorded — see the list below.
- Upload evidence and link it to the new sign-off. See Upload evidence.
When a sign-off expires it is marked Expired and stops counting. Any risk acceptance it carried reverts to the automated check’s own verdict, and a manual control goes back to Not assessed. Re-attest to accept the gap again.
Attestation history
Sign-offs are append-only: to change a decision, add a new sign-off. The Attestations (n) list shows each sign-off with its author, an Expired badge when it has lapsed, Linked evidence: n and when it was made. Click a sign-off to see Note, Signed off by, Signed off at, Expires and Evidence.
Upload evidence
Evidence files back your sign-offs. Each file is SHA-256 hashed on the way in, so you can later prove it has not changed.
- Open the control record.
- In Link to attestation, choose the sign-off this file supports, or keep (unlinked).
- Click + Upload file and choose a file, or drag the file onto the drop zone (or drag and drop a file here).
- Wait for Uploaded {file name} ({size}).
Allowed files
| Extension | Type |
|---|---|
.txt, .log | Plain text |
.csv | CSV |
.md | Markdown |
.pdf | |
.json | JSON |
.png | PNG image |
.jpg, .jpeg | JPEG image |
.gif | GIF image |
Rules:
- A file can be up to 100 MB.
- For a file larger than 50 MB, a Confirm large upload dialog asks you to confirm, because large uploads can take several minutes. Click Proceed to upload or Cancel to stop.
- The file name needs an extension that matches the file type, at most 255 bytes, no folder separators and no control characters, and it must not begin with
... - Every upload passes a security scan. A file the scan rejects shows This file was rejected by the upload security scan. Please review the file before retrying.
Verify a file
Each evidence row shows the file name, type, size, upload time and the first characters of its SHA-256 hash.
- Copy: copies the full hash.
- Verify: downloads the file, hashes it in your browser and compares the result with the stored hash. The row shows ✓ verified when they match and ✗ tampered when they don’t. Hover over ✗ tampered to see both hashes.
- Download: downloads the file through a short-lived signed link.
The Evidence tab
The Evidence tab lists every evidence file uploaded for the selected framework, newest first.
- Evidence: the tab.
- Search controls…: filters the list by file name or control ID.
- Evidence list: one row per file. Before the first upload, the tab explains where to upload evidence.
| Column | Description |
|---|---|
| Control | The control the file was uploaded to |
| Filename | The file name |
| Uploader | Who uploaded the file |
| Uploaded | When it was uploaded |
| SHA-256 | The file hash. Click it to copy the full hash. |
| Linked | Linked when the file supports a sign-off, Orphan when it does not |
| Download | Downloads the file |
Orphan files are uploaded but not linked to any sign-off. Auditors will ask about them, so link them or replace them. The Chain of custody panel on the Overview tab counts them.
Statement of Applicability
The Statement of Applicability (SoA) lists every control in the assessed scope, whether it applies, and why. Auditors ask for it in ISO 27001 audits, and it is useful for every framework.
- Export document: choose Statement of Applicability.
- Export format: CSV, XLSX or PDF.
- Export: downloads the file.
- Choose the Framework.
- In Export document, choose Statement of Applicability.
- In Export format, choose CSV, XLSX or PDF.
- Click Export. The page shows Exported Statement of Applicability — {file name}.
The file is named soa-{framework}-{YYYYMMDD}.{ext}. It starts with a summary (Document, Framework, Tenant, Date, Total Controls, Applicable, Excluded) and lists each control with these columns:
| Column | Content |
|---|---|
| Control | The control ID |
| Title | The control title |
| Applicable | Yes or No |
| Justification | Why the control is in scope, or your reason for excluding it |
| Decided by | Who made the decision |
| Reviewed | When the decision was last reviewed |
Statuses
Sign-off
| Status | Meaning | Next possible status |
|---|---|---|
| Not signed off | No sign-off exists for the control | Signed off |
| Signed off | At least one sign-off is active | Sign-off expired when its expiry date passes |
| Sign-off expired | Every sign-off has lapsed | Signed off after you re-attest |
Evidence verification
| Result | Meaning |
|---|---|
| ✓ verified | The downloaded file matches the hash recorded at upload |
| ✗ tampered | The file no longer matches the recorded hash |
| ! verify error | The file could not be downloaded or hashed |
Permissions
| Action | Permission |
|---|---|
| View control records, sign-offs and evidence, download and verify files, export the SoA | compliance:read |
| Attest, upload evidence, mark controls not applicable or applicable | compliance:write |