Articles

How to set up a document approval workflow with team roles in Chaindoc

Set up a document approval workflow in Chaindoc: decide who sees a contract, who approves it and who signs, using team roles, approval routes and one record.

Document approval workflow in practice: three colleagues in an operations room review documents on a laptop and screens before sign-off

A document approval workflow in one paragraph

A document approval workflow is the path a contract takes from draft to signature: who can open it, who has to approve it, in what order, and what record is left behind. In Chaindoc that path rests on two settings. Roles decide who sees and edits a document inside your team. On the Business plan, an approval route fixes the order in which people approve and sign. Everything else, from the first invite to the audit trail, hangs off those two. This guide shows how to set them up with Chaindoc's team management, what each plan includes, and where bigger tools such as SharePoint go further.

Who can see a contract before anyone approves it

Most problems in a document approval workflow start before the approval. A draft lands on a shared drive, the link travels, and by the time legal opens it, five people have read it and two have edited it.

That's the default in a lot of tools. In Google Drive, anyone you make an editor can share the file and change its permissions unless the owner switches that off, and access you give on a folder flows down to every file inside it (Google Drive Help). Handy for a slide deck. Less handy for a supplier contract with your margins in it.

Document access control in Chaindoc works on two levels, plus a third for developers:

  • Workspace. Each user has a personal workspace, and team plans add a shared one. The two don't overlap, so a draft kept in your personal space stays out of the team's view. Team contracts belong in the shared workspace.
  • Role. Inside the shared workspace, what a person can do with a document (view, edit, approve, sign) follows the role they hold, not a link someone forwarded.
  • Through the Chaindoc API, which needs the Business plan, each document carries an access type: private, public or restricted. A restricted document lists by email the people who may open it, with a level such as read.

Our rule of thumb: give the draft to the people who must read it before approval, not to everyone who might like to. You can widen access after signing. Pulling it back after someone has downloaded the file doesn't work.

One honest limit: files travel over TLS, but there's no end-to-end encryption, so Chaindoc's servers can read what they process. Inside your company, roles keep a contract in front of the right people.

Role-based access control in Chaindoc: four roles and custom ones

Role-based access control (RBAC) attaches permissions to a role and then gives people the role. NIST's glossary describes it as access control based on user roles, a role being a collection of access authorizations. When someone changes job, you change one role and their access follows.

Chaindoc team management ships with four built-in roles, the access half of any document approval workflow:

  • Owner: full rights over documents plus the team's admin controls. Usually the founder, or whoever holds the budget.
  • Admin: manages users and keeps an eye on workflows. An ops lead or office manager, typically.
  • Member: reads and edits within the permissions the role allows. Most of your team sits here.
  • Accounter: sees the financial and analytical side of documents. Think bookkeeper or outside accountant.

Each built-in role can be adjusted, and you can add as many custom roles as you need, with any mix of permissions. Two we see often: a legal reviewer who can view and approve contracts but doesn't send them, and a sales role that drafts and sends but never approves. Role changes made in the Roles tab apply right away to every active workflow.

Is four roles enough? For a team of five to fifty, usually yes. Enterprise suites offer longer menus. In our experience small teams rarely need them, and every extra role is one more thing somebody has to review each quarter.

Document approval workflow in a team: one colleague marks up a printed contract while another reviews the same version on a laptop

Two people, one version. A document approval workflow is mostly about who sees the draft and who signs off on it.

The four eyes principle in a document approval workflow

The four eyes principle says two people have to be involved before something important counts: a payment, a change to a record, a contract. Auditors call the wider idea separation of duties. NIST's definition is blunt: no user should get enough privileges to misuse the system on their own (NIST CSRC glossary). The same entry splits it in two. Static separation means conflicting roles are never given to one person. Dynamic separation applies at the moment of action, the two-person rule being the classic example.

In a contract team, that translates into three habits:

  1. 1.
    The person who drafts a contract isn't the person who approves it.
  2. 2.
    Big contracts have more than one name between draft and signature.
  3. 3.
    Finance can see what a contract is worth without being able to rewrite it.

None of this needs special software. It needs someone to decide, and a tool that remembers the decision.

Least privilege, in plain terms

NIST SP 800-12 puts least privilege as restricting each user's access to the minimum needed for their tasks. In Chaindoc that means Member is the default, Admin is rare, and Owner belongs to one or two people. Honestly, most small teams get this backwards: the first five people all become Admins because it was quicker, and nobody revisits it.

Where the approval route fits in a document approval workflow

Roles cover the static half. The route covers the dynamic half. A normal Chaindoc signature request invites every recipient at once, so whoever opens it first signs first. On the Business plan, an approval route fixes the sequence instead: the next person gets the document only after the one before has acted. Legal, then the finance lead, then the managing director. If your policy says contracts above a certain value need the CFO, write that rule down and have whoever sends the contract pick the matching route.

Setting up a document approval workflow in Chaindoc

Seven steps take a team from no structure to a document approval workflow with a fixed order and a record. Steps one to five are one-time setup.

  1. Pick a plan that has teams

    Roles and the shared workspace come with Team and Business. Approval routes, the fixed order, need Business. Start on Team if you only need access control for now.

  2. Write down who drafts, approves and signs

    One page is enough: contract type in rows, then drafter, approver and signer in columns. Sales agreements, NDAs, supplier contracts, employment paperwork. If the same name shows up in all three columns of a row, that's your first problem to fix.

  3. Invite the team with the right role

    Open the Team tab in settings, click Invite Member, enter the email and choose a role. The invitation goes out at once. Pending invitations stay visible, and you can resend or cancel them until they're accepted.

  4. Add custom roles for the gaps

    In the Roles tab, create the roles your page from step two needs, for example a legal reviewer who views and approves, or a sales role that drafts and sends. Changes apply right away.

  5. Build an approval route for contracts that need four eyes

    On Business, set the order once: who approves first, who approves next, who signs last. Keep routes few and named after the contract type, so whoever sends never has to guess. A common mistake is one route per person; it falls apart the first time someone goes on holiday.

  6. Publish and send

    Publishing fixes the version: its hash goes on chain. Then sending a document for signature invites up to 10 recipients per request, all at once or in your route's order. Add optional identity checks for signers you don't know.

  7. Review access every quarter

    Downgrade roles nobody needs and remove leavers by hand, since there's no automatic provisioning. France's data protection authority, the CNIL, recommends withdrawing access rights as soon as they're no longer justified, which is a good habit anywhere.

Don't let the drafter approve their own contract

The most common hole in a document approval workflow isn't technical. It's one person whose role lets them draft, approve and send the same contract, usually because they were the first Admin and nobody changed it. Check your Admins first. Then make sure every approval route includes at least one name that didn't write the document. In a two-person team that's fine too: agree that the other person approves, and stick to it.

Which plan your document approval workflow needs

Roles and the shared workspace, the access side of a document approval workflow, start on Team. The fixed order needs Business, and so does API access. The figures below come from Chaindoc's plans as published on September 20, 2026; the pricing page carries the current ones. If you're comparing approval workflow software on price, count seats too: each extra team member is a €19 monthly add-on on both team plans.

One number is missing on purpose. The Team plan's monthly signature allowance shows one figure on the plan card and another in the plan's configuration, so we've left it to the pricing page rather than print the wrong one.

Chaindoc plans for a document approval workflow (checked 2026-09-20)

What you needFreePersonalTeamBusiness

Price

€0, permanent, no card

€9 per month billed monthly, or €86 per year billed annually

€19 per month billed monthly, or €182 per year billed annually

€29 per month billed monthly, or €278 per year billed annually

Users

1

1

Extra members are a €19 monthly add-on each

Extra members are a €19 monthly add-on each

Shared team workspace and roles

No

No

Yes

Yes

Fixed signing order through approval routes

No

No

No

Yes

Signatures a month

5

15

See the pricing page

100

API keys, including document access rights

No

No

On request

Yes

Optional KYC identity checks a month

None

1

5

10

Single sign-on (SSO) or SCIM provisioning

No

No

No

No

Give every teammate the right access

Invite your team, assign roles and keep each contract in front of the people who should see it, from first draft to final signature.

See team management

What the record shows once the contract is signed

A document approval workflow only helps if you can show later who approved what. Chaindoc keeps the evidence in two places, and they do different jobs.

The audit trail is the application's own event log for the document. Its entries are chained by hashes, so a missing or altered entry breaks the chain. You can export it as an audit trail PDF, and there's a separate verification report PDF for the signed file. If you used an identity check, its result lands in the audit trail too.

The blockchain records two moments: the version's hash when you publish, and each signer's proof when signing completes. That hash is what a later verification checks the file against.

In practice, most disagreements never get as far as the chain. They're settled by a readable record of who did what, which is why the PDF export matters more day to day. For what an auditor or a court tends to ask for, see how an e-signature record holds up in an audit.

What goes on chain, and what doesn't

The server hashes your file when you upload it. Publishing a version writes that version's hash to the blockchain, and each signer's proof is recorded when signing completes. That's all. Names, email addresses and the record of who did what stay in Chaindoc's audit trail, not on chain. The split is deliberate: the chain proves the file didn't change, the audit trail explains who did what with it.

Approval workflows in SharePoint, DocuSign and Google Drive

Plenty of teams already run a document approval workflow in a tool they own, or think they do. Here's what the three most common ones cover.

SharePoint and Power Automate

A SharePoint approval workflow is usually a Power Automate flow. Microsoft's tutorial builds one around the "Start and wait for an approval" action, and approvers answer from their inbox, the approvals center or the mobile app (Microsoft Learn). Sequential and parallel approvals each get their own guide, and guests from outside the company can approve through Microsoft Entra. The catch is that you build and maintain the flow yourself, and the tutorial says plainly that security is outside its scope.

DocuSign

People searching for DocuSign roles and permissions usually land on its three default permission profiles: DS Admin, DS Sender and DS Viewer. DocuSign also documents an internal approval workflow in its support center, so a DocuSign approval workflow is a configuration job inside an account you may already pay for.

Google Drive

Google Drive sharing permissions come in three roles: Viewer, Commenter and Editor. They decide who can open, comment on and change a file. Who approves it and who signs it is a separate question you'll answer elsewhere.

Where they're ahead: Power Automate can branch an approval on almost any condition and run it across SharePoint, Dynamics 365 or Salesforce, and Microsoft 365 approvers use the company accounts they already sign in with. Chaindoc has no single sign-on or SCIM provisioning. People sign in with a password or a Google, GitHub or Apple account, and you remove leavers by hand. What Chaindoc puts in one place is the access, the order, the signature and the record for the same contract.

Does approval change the legal weight of a signature?

No. In the US, ESIGN says a contract can't be denied legal effect just because an electronic signature or record was used to form it (15 U.S.C. § 7001). In the EU, Article 25(1) of eIDAS says the same of electronic signatures before a court. Your document approval workflow is governance, not part of how the contract is formed. What it changes is your position if someone later claims the contract was signed without authority.

Access shows up in law twice, though. ESIGN's retention rule in § 7001(d)(1) is met by an electronic record that stays accurate and remains accessible to everyone entitled to access it, for as long as the law requires. So access control cuts both ways: keep out the people who shouldn't see a contract, and don't lock out the ones who must. For the time limits, see how long to keep signed contracts.

If your contracts hold personal data, GDPR Article 25(2) asks that by default it isn't made accessible to an indefinite number of people, and Article 32(4) that anyone with access acts only on the controller's instructions. A link anyone can open is hard to square with either. This is general information, not legal advice for your company.

Where a document approval workflow usually breaks

The same five failures turn up again and again:

  • Everyone is an Admin. It happened during setup and stuck. Bring it down to one or two people.
  • The contract approval workflow lives in someone's head. When that person is away, contracts either stall or go out unapproved. Write the routes down and name them after contract types.
  • Approvals happen in email. A "looks good" in a thread isn't in the audit trail, and six months later nobody can find it.
  • Leavers keep access. Without automatic provisioning, offboarding needs a checklist line: remove from Chaindoc.
  • The approved version isn't the signed one. Edit after approval and you need a new published version and a fresh pass through the route. The old version's hash is already on chain, which is exactly what you want when someone asks what changed.

Fix those five and a document approval workflow in Chaindoc mostly looks after itself. Roles keep drafts private, the route keeps the order, and the record answers the questions later.

Sources checked for this guide

We checked these pages on October 14, 2026. Chaindoc's plan figures come from its plans API, read on September 20, 2026.

  1. 1.Separation of Duty (SOD) · NIST Computer Security Resource Center, GlossaryNo user should hold enough privileges to misuse a system alone; static and dynamic separation, the two-person rule
  2. 2.least privilege · NIST Computer Security Resource Center, GlossaryAccess restricted to the minimum needed for assigned tasks (SP 800-12 Rev. 1, SP 800-53 Rev. 5)
  3. 3.role-based access control · NIST Computer Security Resource Center, GlossaryAccess control based on user roles, a role being a collection of access authorizations
  4. 4.SP 800-53 Rev. 5: Security and Privacy Controls for Information Systems and Organizations · NISTControl catalogue including the Access Control family: AC-5 separation of duties, AC-6 least privilege
  5. 5.Regulation (EU) 2016/679 (GDPR) · EUR-LexArticle 25(2), data protection by default; Article 32(4), access only on the controller's instructions
  6. 6.15 U.S. Code § 7001: General rule of validity · Legal Information Institute, Cornell Law SchoolSubsection (a) on legal effect; subsection (d)(1) on retained records staying accessible to everyone entitled to them
  7. 7.Create and test an approval workflow with Power Automate · Microsoft LearnThe approvals action, where approvers respond, sequential and parallel approvals, guest approvers
  8. 8.Share files from Google Drive · Google Drive HelpViewer, Commenter and Editor roles; editors sharing by default; folder access inherited by files
  9. 9.Permission Profiles · Docusign Developer CenterThe default eSignature permission profiles DS Admin, DS Sender and DS Viewer
  10. 10.Sécurité : Gérer les habilitations · CNILAccess profiles that separate tasks, manager sign-off on each access request, rights removed when no longer justified
  11. 11.Chaindoc Server SDK · Chaindoc on GitHubDocument access types private, public and restricted; updating access rights by email with a level such as read
  12. 12.Chaindoc API reference · ChaindocThe document access rights endpoint; API keys on the Business plan
FAQ

Frequently Asked Questions

Answers to popular questions about Chaindoc and secure document workflows.

It's the set path a document follows before it's final: who drafts it, who reviews and approves it, in what order, and who signs. A good one also fixes who can see the document at each stage and keeps a record of every decision. In Chaindoc, roles handle the access and approval routes, on the Business plan, handle the order.

A workflow is any sequence of steps a document goes through: draft, review, send, sign, file. An approval process is the part of it where someone with authority says yes or no. Every approval process is a workflow, but plenty of workflows, a filing routine for instance, have no approval in them at all.

Most teams use five: draft, internal review, approval, signature and filing. The contract owner drafts. A reviewer checks the terms, often legal for the wording and finance for the money. An approver with authority signs off, and that shouldn't be the person who drafted it. Then the signers sign, in a fixed order if the contract needs one, and the signed copy is stored with its record. In Chaindoc the fixed order needs an approval route on the Business plan; otherwise everyone you invite gets the request at once.

Role-based access control (RBAC) gives permissions to roles instead of to individual people, then assigns people to roles. For documents, it means what you can do with a contract, such as view, edit, approve or sign, depends on your role in the team rather than on who forwarded you a link. When someone changes job, you change their role and their access follows.

It's the rule that two people must be involved before something important counts, such as a payment, a contract or a change to a record. NIST calls the wider idea separation of duty: no single user gets enough privileges to misuse a system alone. For contracts, it usually means the person who drafts a contract isn't the one who approves it.