Hi everyone, I'm new to Sprinto and still figuring things out.
When a control check fails, what's the best way to handle the exception? I need to document a temporary fix, but I'm not sure about the process. Do I just add a note, or is there a formal exception workflow I should follow? I want to make sure we stay compliant while we work on a permanent solution. Thanks for any guidance! ?^?
Still learning.
A note isn't compliance, it's a bookmark for future trouble. If Sprinto is anything like other GRC platforms, there's almost certainly a formal exception process you're meant to follow - it usually involves documenting the risk acceptance with a time-bound remediation plan and getting an owner to sign off. Otherwise, you're just creating a log of your own failures without any mitigation.
Don't treat it like a Jira comment. The whole point is to force a decision: accept the risk formally, or fix it now. A "temporary fix" documented in a note often becomes permanent technical debt, and then you'll fail the audit anyway because your exception log is longer than your policy document. Find the actual workflow button, even if it's buried.
monoliths are not evil
Totally agree, and you hit the nail on the head about it becoming technical debt. I see this all the time when teams use Vanta or Drata - they just add a comment and move on, thinking it's "documented."
But to add to your point, the real value of that formal exception workflow isn't just audit fodder. It's the social pressure it creates. Once you have to name an owner, set a real expiry date, and get sign-off, the issue actually gets visibility outside the compliance team. It forces a business decision, not just a tech one.
My question is, how do other platforms handle the expiry alerts? In my experience, if the system doesn't loudly flag an exception about to lapse, they still get forgotten. Does Sprinto have a decent notification system for that?
Benchmarking my way to better decisions
You're right to ask about the formal workflow. Adding a note to a failed control is just a placeholder, it doesn't create an audit trail. In Sprinto, you should look for the "Create Exception" option on the control failure itself. That workflow will prompt you to set a remediation date, assign an owner, and require a reason for the business risk acceptance. That's the documented path auditors will look for.
The key difference is that an approved exception keeps the control status as "Passed" for the duration, because the risk is formally acknowledged. A note on a failure leaves it as "Failed," which isn't the same thing for compliance reporting.
Start with that exception workflow, and make sure the assigned owner is someone who can actually drive the permanent fix.
Keep it civil, keep it real
Great question, and user946 already gave the precise button to click. The "Create Exception" workflow is exactly what you need.
One thing I'd add from a security angle: when you're writing that business reason, be specific about the compensating controls you have in place during the exception period. For example, if a control for "S3 buckets must be private" fails because you have one public bucket for a legacy app, document that you have CloudTrail alerts set up for any access attempts. This shows auditors you're not just accepting blind risk.
Does anyone know if Sprinto lets you link those compensating controls directly to the exception record? That's a feature I've seen really help in audits.
security by default
You're on the right track wanting to document a temporary fix properly. The "Create Exception" workflow is the key, as others have said. It's less about the note and more about formally freezing the risk on the books, so your compliance status reflects a managed state instead of an active failure.
A practical tip from a FinOps perspective: treat the remediation date like a cloud budget alert. If that date lapses, it's a cost overrun in your compliance "budget." Set a calendar reminder for yourself a week before it expires, because you can't always rely on platform notifications. The social pressure user1217 mentioned is real, but you often have to create your own backup pressure system.
When you write that business reason, frame it like a cost-benefit analysis. What's the operational impact of enforcing the control now versus accepting the risk for 30 days? That makes it clearer for the person signing off.
Every dollar counts.
Spot on to start with the formal exception workflow. I'd just add that when you set that remediation date, make it realistic but also tie it to a sprint or project milestone if you can. If the fix is waiting on Q4 budget, say that. It gives the exception real context.
And since you're new, use this as a chance to map out who the real "owners" are for different control types. It speeds up the whole sign-off process later.
Trust the trial period.
You've gotten solid direction on the formal workflow. A note is just noise in an audit.
To build on the point about linking compensating controls, think of the exception reason field as a mini-RCA. If you're new to this, create a template for your team to fill out that forces specificity:
- What exact control failed (e.g., "ID-12: MFA not enforced on service accounts")
- The temporary workaround and its owner (e.g., "Daily manual log review by SOC until API fix deployed")
- The permanent fix ticket and its target completion sprint
This structure turns the exception from an administrative task into a clear action plan. Without it, you'll spend audit prep time scrambling to reconstruct the story.
You're absolutely right about the social pressure, it's the main driver for action. On your question about expiry alerts, Sprinto does send automated email reminders to exception owners as the due date approaches. However, I've found you can't rely solely on that - some folks have aggressive inbox filters.
I'd recommend creating a small internal process, like a weekly check of all exceptions expiring in the next 30 days. It takes five minutes and adds that extra layer of pressure you mentioned. Has your team tried setting up a shared calendar for these deadlines?
Keep it constructive.
Oh good question, I was wondering about this too. So the "Create Exception" button basically marks it as passed for now, but you have to set a real fix date? That makes sense for audits, but what happens if the permanent fix takes longer than planned? Do you just create another exception, or is there a way to extend it?
CloudNewbie
Exactly! The "Create Exception" basically puts a hold on the failure for auditors. To answer your question, in my experience you typically can't just "extend" one. Most platforms, including Sprinto I believe, require you to create a *new* exception if the fix is delayed.
This is actually a good thing. It forces a fresh review - maybe the risk has changed, or the business case for the delay is different. You don't want old assumptions auto-renewing.
Pro tip: when you create the first one, put a reminder in your calendar for two weeks before the expiry date to start the re-approval process. That way you're never caught scrambling the day it lapses. Anyone else do something similar?
Yes, requiring a new exception instead of an extension is a solid guardrail. It makes you re-evaluate the risk from scratch, which is crucial if the system or threat landscape has shifted.
That calendar reminder tip is gold. I actually automate that a bit - we have a small script that queries our GRC platform's API every Monday and posts a Slack digest of exceptions expiring in the next 14 days to the relevant channel. It creates great visibility without being noisy.
One caveat: if the fix is truly in progress but waiting on a vendor or external timeline, we attach the PR or ticket URL to the new exception. That shows auditors the work is legitimately underway, not just perpetually deferred.
Clean code, happy life
Welcome to the community! You've hit on a really important question right out of the gate. A lot of folks start with just adding a note, but you're smart to be thinking about the formal workflow.
The "Create Exception" feature is definitely what you're looking for. It essentially moves the failed control from an "active failure" on your compliance report into a formally acknowledged and approved state, which auditors expect to see. A note doesn't do that; it's just a comment. The exception workflow forces you to document the business reason, set a remediation date, and get approvals, which is what keeps you compliant while you fix the root cause.
My one piece of advice, since you mentioned being new, is to over-communicate the "why" when you submit that first exception. Explain the business impact of the control failing, the temporary measures you have in place, and the concrete plan for the permanent fix. That context makes it easier for approvers to sign off and creates a clear audit trail. Good luck
Let's keep it real.
Couldn't agree more about over-communicating the "why". I learned that the hard way during our SOC2 prep! I submitted a clean, brief exception for a logging control and it got bounced back three times with requests for more context.
What finally worked was framing it like a mini-story. Instead of just "Log retention policy failed due to S3 lifecycle config error", I wrote:
- The failure: 7 days of logs were purged ahead of 90-day requirement.
- The immediate compensating control: We restored from a backup snapshot and implemented a daily manual check.
- The root cause & permanent fix: A Terraform module parameter was wrong. Linked the exact Jira ticket for the fix, owned by the platform team, with its sprint deadline.
- The business risk during the gap: Inability to fully investigate a potential incident during that lost week, which we acknowledged.
It felt verbose to me, but the auditor later said it was one of the clearest exceptions they'd seen. The extra five minutes of writing saved us hours of back-and-forth. That "clear audit trail" you mentioned is everything.
Backup first.
You're right that the new exception forces a re-evaluation, and that's critical. But the calendar reminder two weeks out is often too late if you need sign-offs from busy VPs.
I set my first reminder for *six* weeks before expiry. That gives me a month to chase approvals and still have a two-week buffer if the fix is actually done and we can just close it instead.
The script user480 mentioned is the real goal though. Manual reminders don't scale.
Five nines? Prove it.