Government & Public Sector · C# SDK
Pause an adverse benefits decision while an appeal is open
Your eligibility agent drafts determinations. Approvals within the limit can go out. Denials get a closer look: GovernAsync sends the case facts, and your agency rules stop a denial that conflicts with an open appeal or has no reason code.
Why the reason code is a fact
A denial notice has to say why. When denial_reason_code is none, the rule has something concrete to stop on, and the caseworker who picks it up sees the gap right away.
C#: test the denial path before you connect
VeriproofTestHarness returns the decision you queue and makes no network requests, so this test runs in CI before the agency has an account.
C# · Veriproof.Sdk.Core
using Veriproof.Sdk.Core;
using Veriproof.Sdk.Core.Testing;
await using var local = new VeriproofTestHarness()
.RespondWith(new TestPolicyDecision(PolicyAction.Deny));
var result = await local.Veriproof.GovernAsync(
"benefits.determine",
determination,
(context, cancellationToken) =>
notices.IssueAsync(context.Input, context.IdempotencyKey, cancellationToken),
new GovernOptions
{
Facts = new Dictionary<string, object?>
{
["program"] = "childcare_subsidy",
["household_size"] = 3,
["monthly_income_usd"] = 4200,
["income_threshold_usd"] = 3900,
["documentation_complete"] = true,
["residency_verified"] = true,
["appeal_pending"] = true,
["denial_reason_code"] = "none",
},
});
Assert.Equal(GovernedStatus.Blocked, result.Status);
Assert.Empty(notices.Issued);
Swap the harness for Veriproof.FromEnvironment() when you connect. The code under test stays the same.
Why C# here: Agency case management systems are frequently .NET, and the SDK’s test harness runs in the same test projects without a network connection.
Case facts for the eligibility rule
The eligibility simulator sends these fields. Reason codes are what make a denial notice explainable.
| Fact | What it holds |
|---|
program | nutrition_assistance, housing_voucher, childcare_subsidy, or disability_support. |
household_size | People in the household. |
monthly_income_usd | Reported monthly household income. |
income_threshold_usd | The program limit for this household size. |
documentation_complete | True when required documents are on file. |
residency_verified | True when residency is verified. |
appeal_pending | True when an earlier decision on this case is under appeal. |
denial_reason_code | none, income_exceeds, residency_unverified, or documentation_incomplete. |
Approve, refer, or stop the denial
Three cases from the eligibility simulator. Run eligibility simulator
Allowed
When: A complete nutrition assistance file below the income limit.
Your code: The approval notice is issued, and the record keeps the case facts and the rule version.
Who picks it up: The Business Owner sees case throughput. Auditors read the record inside an engagement.
Sent to a person
When: A housing case slightly over the income limit.
Your code: The proposed denial waits for a caseworker.
Who picks it up: The caseworker with that authority, in the VeriProof Inbox, by email, or in Slack or Microsoft Teams, with reminders and escalation.
Stopped
When: A childcare denial while an earlier appeal is open, with no reason code.
Your code: The denial is blocked, and no notice goes out.
Who picks it up: The Governance Engineer sees the appeal rule that stopped it.
When policy changes the rules
Developer fix request
If the agency adds a rule on language preference for notices and your agent doesn’t send it, the Developer gets a fix request naming the field.
Changing the rule
Updating the income limits for a new program year can run in Shadow against live cases first. A compliance officer or administrator approves an engineer’s new limits before they enforce in production.
See how the six role portals hand off workBuild and test
For your business owner
The government page explains what the agent can take on and how its decisions are defended.
Read the government business caseDocs
Install Veriproof.Sdk.Core, configure the key, and look up industry values for Government & Public Sector.
Run the open-appeal case
The eligibility simulator stops the same denial your test covers. Compare its record with the facts in your test.