A SOC 1 report arrives as a 60-page PDF, usually late, usually under an NDA, and usually when you have a week left. The temptation is to read the opinion paragraph, see the word “unqualified”, and file it.
The opinion paragraph is the least interesting page in the document. What decides whether you can rely on the report is spread across four other places: the exceptions in Section 4, the complementary user entity controls in Section 5, the carve-out sentence buried in the system description, and the period covered on the cover page. Miss any one of them and you have relied on something you did not read.
None of that is hard. It is just tedious, and it has to be done against two documents the service auditor has never seen: your control policy, and your prior-year findings. That cross-reference is the actual work, and it is the part no summariser does for you, because a summariser only has the one document.
Why a summary of the report is not the answer
Ask any assistant to summarise a SOC 1 report and you get a competent précis of the report. That is not what you needed. You needed to know:
- The opinion is qualified on control 4.2 — is 4.2 a control we actually depend on?
- There are six CUECs — do we perform them, and can we evidence it?
- The cloud provider is carved out — have we ever looked at their report?
- The period ends 30 September — what covers October to December?
- Last year we raised a finding about leaver access — does this report make that worse?
Every one of those questions is a join between the report and something else. A tool that can only see the report cannot answer them, and a tool that you have to upload the report to is often not one you are permitted to use — SOC reports are typically issued under an NDA that says nothing about third-party AI services.
The constraint that shapes everything
A SOC 1 report is somebody else’s confidential document, given to you under an agreement. “We only send it to our AI provider” is not a distinction the agreement makes. Reading it on your own device is not a nice-to-have here; it is often the only way you are allowed to use a model on it at all.
What Add context does
In the chat composer there is a + button with two entries. Upload access data takes an ERP extract and runs deterministic detection over the rows. Add context is the other one: it reads documents into the conversation so the model can be asked about them.
It accepts .pdf, .docx, .txt, .md, .csv, .json and .log. You can attach several at once, and that is the point — the interesting questions need more than one document.
- Parsed in the tab. The PDF text layer and the Word document body are extracted in browser memory. There is no upload endpoint.
- Held for the conversation. The extracted text stays in the conversation so follow-up questions do not need the file again.
- Quoted, not paraphrased. Ask for the exception wording and you get the exception wording, so you can find it in the source.
- Honest about limits. A scanned PDF with no text layer contains no text to read, and it will say so rather than invent a summary.
Three sample files that argue with each other
Download all three. They are deliberately built to interlock — the interesting answer only exists when the model has read all of them.
- ⬇ sample-soc1-type2-report.pdf — a fictional SOC 1 Type II for Meridian Payroll Services. Three pages: a qualified opinion, nine controls with tests and results, six CUECs, and a carved-out cloud provider.
- ⬇ sample-change-management-policy.docx — a fictional Word policy for Northwind Retail. Sets a 5% ceiling on emergency changes and requires retrospective approval within two business days.
- ⬇ sample-prior-year-itgc-findings.txt
— last year’s ITGC findings, as plain text. Includes
F-2025-03, a leaver-access finding that explicitly relies on the payroll service organisation.
Every company, person, date and finding in these files is invented. They are shaped like the real thing so the answers are worth reading, and labelled inside the documents so they can never be mistaken for one.
Three prompts, in order
Open the assistant, load a model, then + → Add context and attach all three files.
Get the facts out of the report
Read the attached SOC 1 Type II report and give me: 1. the opinion — qualified or unqualified, and if qualified, on which control objective 2. every exception, with the control reference and the auditor's exact wording 3. the complete list of complementary user entity controls 4. any subservice organisation, and whether it is carved out or included 5. the period covered Quote the report for each point. If something is not stated, say "not stated in the report" rather than inferring it.
This is the reading you would do anyway. The value is that it takes forty seconds and nothing is skipped.
Join it to your own position
Now use the attached change-management policy and the prior-year ITGC findings. For each exception and each CUEC in the SOC 1 report, tell me: - which of our prior-year findings it relates to, if any - whether our own policy sets a stricter or looser requirement - what evidence we would need to produce to show we perform the CUEC Where the report and our policy disagree, say so explicitly and quote both.
This is the question that needs all three documents. The qualification on control 4.2 lands directly on finding F-2025-03, which was only ever partially remediated — and CUEC-1 makes day-of-termination notification Northwind’s responsibility, not the service organisation’s.
Turn it into work
Draft the service organisation reliance memo section for our FY2026 file. Cover: what we rely on Meridian for, the effect of the qualified opinion, which CUECs we must evidence, the carve-out and what we still owe on it, and the gap between the report period end and our year end. For each point state the evidence we need to obtain. Mark anything you cannot determine from these three documents as an open question rather than filling it in.
The last sentence is the one that matters. A model asked to produce a complete memo will produce a complete memo, including the parts it had no basis for.
The four things people skip
The sample report is built around them, because they are what goes wrong in real files.
A qualified opinion you read as clean
“Unqualified except for” is not unqualified. The sample qualifies control objective 4 — and if you rely on that objective, you cannot rely on this report for it without doing your own work.
CUECs treated as the auditor’s problem
Complementary user entity controls are your controls. The report’s conclusions only hold if you perform them. CUEC-1 in the sample is precisely the control the prior-year finding says Northwind was not performing reliably.
A carve-out nobody followed up
The cloud provider is carved out, so its controls are not in scope. Somebody has to read that provider’s own report. In most files, nobody has.
A period that does not match your year
The report ends 30 September; a December year end leaves three months uncovered. That needs a bridge letter and your own procedures — and a bridge letter is not an audit opinion.
What a good answer looks like
You are not looking for fluency. You are looking for answers you can check:
- It quotes. “6 of 25 removals occurred between 4 and 34 calendar days after termination” is checkable. “There were some access issues” is not.
- It cites which document. A claim that mixes the policy and the report without saying which is which cannot be verified.
- It says what is missing. The three sample documents do not state Northwind’s year end. A good answer flags that as an open question; a bad one assumes December.
- It stops short of the judgement. Whether you can rely on the report is your call, on your risk assessment and materiality. A tool that answers that for you is overreaching.
Check one quote before you trust the rest
Open the PDF, find one exception the assistant quoted, and confirm the wording. It takes thirty seconds and tells you whether the reading was grounded. Do it every time you change model — a smaller model is more likely to paraphrase when it should quote.
Where this fits
This is an analysis pass over documents you already have. It is useful for scoping, for the first read of a report that just landed, for drafting the reliance memo section, and for reviewing work somebody else has done. It is not a controls-testing platform, it does not maintain your SOX matrix, and it does not sign anything.
If your next question is about an ERP access extract rather than a document, that is the other half of the same menu — deterministic detection over rows, with an adversarial pass that hunts its own false positives.
Questions people ask
Does the SOC report I attach get uploaded anywhere?
No. The file is parsed in browser memory and the model runs on your own machine. There is no upload endpoint and no API key, so there is nowhere for a client’s report to be sent. For SOC reports this matters more than usual: they are normally issued under an NDA that does not contemplate a third-party AI service.
What file types can I attach?
PDF, Word (.docx), plain text, Markdown, CSV, JSON and log files. Attach several at once — the questions worth asking usually need more than one.
Can it read a scanned report?
Only if the PDF has a text layer. A pure scan contains no text to extract, and the assistant will tell you the document appears to be empty rather than inventing content. Run OCR first.
How long a document can it handle?
That depends on the context window of the model you loaded. A 60-page SOC 1 will exceed a small model’s window; the honest options are a larger model or asking section by section. You are told when a document has been truncated.
Will it tell me whether I can rely on the report?
No, and be wary of anything that claims to. Reliance is a judgement about your risk assessment and materiality. What this does is put the facts that judgement needs in front of you — the opinion, the exceptions, the CUECs, the carve-outs and the period.
Is it a substitute for reading the report?
No. It is a way to reach the reading faster, with a checklist of what people skip. Everything it says is quoted, so you can verify it in the source — which means you are still reading, just not from page one.
Try it now
Download the three files, open the assistant, attach them through + → Add context, and paste prompt 2. That is the one that shows what the feature is for.
All names, user IDs, roles and departments in the sample files are invented. Any resemblance to a real user account is coincidental.