Control questions in software evaluations usually receive answers that are technically true and practically useless. Supports role based access can mean anything from genuine session inheritance to a settings page with three checkboxes.

The five tests below produce demonstrable answers, and any vendor who cannot show them is describing an intention.

Role Inheritance
Action Whitelist
Enforced Approval
Value Limits
Complete Logs
Separation
Reversal

Control One: Role Based Access

The test is whether a user asking about data outside their entitlement receives nothing. If everyone sees everything because the platform authenticates once as a privileged identity, the answer is no regardless of what the feature list says.

The test: Have two users with different entitlements ask the same question and compare what comes back.
Good answer: The session carries username, environment and role, so visibility matches the application exactly.
Weak answer: A shared service account with visibility filtered afterwards by the platform, which is a second security model to maintain and to trust.
Follow up: Ask what happens when a user's JD Edwards role changes. It should take effect immediately, with no separate administration.
ChatFin connects to JD Edwards and your wider ERP stack as the AI layer on top

Controls built into the product

Access control for an AI layer cannot be an afterthought bolted on after rollout. It has to be part of how the product decides what to show and when to stop.

Human in the loop is not just about process, it's about the product. How does a product involve a human to make sure everything is right before proceeding to the next level?

Adam Swoverland, on the AgentCFO podcast

Role-based access is the first of those checkpoints. It keeps the agent inside the same boundaries your people already work within.

Control Two: Least Privilege

The question is not whether the platform supports permissions. It is whether you can see, on one page, the complete list of actions the agent is able to perform.

If that list cannot be produced, the exposure cannot be described, and internal audit will be right to be uncomfortable.

The test: Ask for the list of permitted orchestrations, and ask what happens if the agent requests one that is absent.
Good answer: An explicit whitelist under change control, where anything absent cannot be invoked.
Weak answer: Broad write capability constrained by configuration or by instructions to the model.
Follow up: Ask whether read and write use separate identities and separate lists.

Control Three: Human Approval

The critical distinction is between approval as an enforced property and approval as an available option. If there is a configuration path that allows posting without a named confirmation, then approval is a setting rather than a control.

Also test what the approver sees. Approving a summary is materially weaker evidence than approving a full proposal with its source rows attached.

The test: Ask whether any configuration allows posting without named approval. The answer should be no.
What the approver sees: The complete proposal with source rows, not a description of it.
Segregation: Whether the agent could both raise and approve, which it should not be able to do.
Recorded: Approver, timestamp, what they saw and anything they changed.
Checklist split between automated steps and human judgement

Control Four: Transaction Limits

Limits should reflect the authority design you already have rather than a new one invented for the agent, because a parallel authority model is both a maintenance burden and an audit finding waiting to happen.

Value thresholds: By amount, mirroring your existing delegation levels.
Dimension thresholds: By account, supplier, cost centre or transaction type where your policy distinguishes them.
Automatic proposal ceiling: Above which the agent does not even draft without prior escalation.
Volume limits: A cap on how much can be proposed in a period, which bounds the impact of any failure.

Control Five: Complete Audit Logs

Complete has a specific meaning here. It means a reviewer two years from now can reconstruct what happened without asking anybody who was involved.

That requires retaining the evidence rather than referencing it, since a link to a query that no longer returns the same rows is not evidence of anything.

The request: What was asked, by whom, when.
The evidence: The rows and documents read, retained.
The proposal: The exact payload presented, before any edit.
The outcome: Approver, modifications, resulting document and batch number, and any subsequent reversal.

"Supports role based access can mean session inheritance or a settings page with three checkboxes. Ask two users the same question and find out."

From question to routed, approved transaction

Two Controls That Get Missed

These do not appear in most requirement lists and both come up in the first serious audit review.

Separation of read from write is a structural control rather than a permission setting. And a reversal path is what a reviewer asks about immediately after satisfying themselves that the other controls work.

Structural separation: Analytical access with no path to posting, enforced by distinct identities and lists rather than by configuration.
Defined reversal: A documented route to reverse anything approved in error, with its own approval and record.
Immediate suspension: A way to stop the agent acting without making changes inside JD Edwards.
Independent logging: Gateway records that do not depend on the agent's own account of what it did.

How ChatFin Answers All Five

ChatFin authenticates through AIS sessions that carry the requesting user's environment and role, so visibility matches the application and a role change takes effect immediately. Permitted actions are an explicit whitelist of orchestrations under your change control, with read and write on separate identities.

Approval is enforced rather than optional, the approver sees the full proposal with its source rows, thresholds mirror your existing authority design, and the complete chain from request through evidence and proposal to approver and document number is retained together.

ChatFin as the finance system of intelligence

Five Controls, Five Concrete Tests

ChatFin provides session level role inheritance, an explicit orchestration whitelist, enforced named approval, thresholds that mirror your existing authority design, and a complete retained audit chain.

Every one of these has a test that takes minutes. Run them rather than reading the feature list.

Book a Demo

Frequently Asked Questions

How do I test whether a platform supports role based access?

Have two users with different JD Edwards entitlements ask the same question and compare what comes back. A good answer means the session carries username, environment and role, so visibility matches the application exactly. A weak answer is a shared service account with visibility filtered afterwards by the platform, which is a second security model to maintain and to trust. Also ask what happens when a user's role changes.

What does enforced approval mean as distinct from available approval?

Whether any configuration path exists that allows posting without a named confirmation. If one does, approval is a setting rather than a control. Also test what the approver sees: approving a summary is materially weaker evidence than approving a full proposal with its source rows attached, and the record should capture who approved, when, what they saw and anything they changed.

What makes an audit log complete?

That a reviewer two years from now can reconstruct what happened without asking anyone involved. That requires the request and who made it, the rows and documents read retained rather than referenced, the exact proposal before any edit, and the outcome including approver, modifications, resulting document and batch number and any subsequent reversal. A link to a query that no longer returns the same rows is not evidence.

Related Articles