River
Y CombinatorBacked by Y Combinator
FREE TEMPLATE

Consultant Restriction and Conflict Register

Four documents and three sheets that date each client restriction from the event it actually runs from, then clear one opportunity against the rows still live.

Free download  ·  No account needed

Restriction Register  ·  Marchetti Advisory  ·  34 restrictions, 11 executed contracts  ·  cleared 05 Mar

The same five rows, before and after the clock was worked out

RefClient and typeRead off the signature pageTrigger event and proving recordActual status
R-05Sterling Yards
non-compete, 24m
Signed 03 Feb 2023, so deadLast day of service 12 Jun 2024
final invoice
Expired 266 days ago
R-22Ellery Foods
exclusivity, 12m
Treated as liveSOW end 31 Jan 2026
executed SOW-4
Expired 33 days ago
R-14Northbank Group
customer non-solicit, 18m
ForgottenLast day of service 09 Mar 2026
final timesheet
Live, 188 days left
R-19Dunmore Freight
non-compete, 12m
Live to 04 AugGoverned by Minnesota lawVoid where it would bite
R-31Vance Rail
non-compete, 12m
Live to next AugustRuns from termination of an MSA that auto-renews and never terminatedLive, no end date

Two of those five were being obeyed after they died. A freight network diagnostic worth $84,000 was declined against R-05 when it had been dead 98 days, and a cold-chain review worth $61,000 against R-22 when it had been dead 24 days.

Search this and everything on page one is built for the other side of the clause. A restrictive-covenant compliance manager for a firm tracking 2,000 employees. An enforceability checker that scores one agreement against a state law database. An extraction API that turns a non-compete into structured fields for a hiring clearance workflow. All competent, all written for whoever holds the covenant, and none of them written for the person carrying thirty of them across eleven contracts they signed themselves.

The extraction tools get closest and stop one field short. They pull the trigger event out as a string, termination of employment for any reason. Then they date it from the effective date, which is the one date it does not run from. Here the trigger gets a real date and a record that proves it: a final invoice, a last timesheet, a termination notice. That single join is what moved a Sterling Yards non-compete from live to dead 266 days ago, and what left a Vance Rail non-compete with no end date at all.

Marchetti Advisory, three people in logistics consulting, 11 executed contracts, 34 restrictions. Twelve had expired, three are void where they would bite, 19 are live. Two priced opportunities worth $145,000 had already been declined against dead rows. The clearance that mattered took 25 minutes. Pair it with the practice dashboard that prices the resulting gap, or with the SOW pack that drafts the next set of restrictions.

34 restrictions, 19 live, and the two that touched the deal

The Restriction Register, the Opportunity Clearance Record, the Conflict Check Log, and the Restriction Summary.

Restriction Register

One row per restriction, never one per contract. A single MSA here carries five, and they end on five different days.

RefClientTypeTrigger eventProving recordLive untilStatus
R-14Northbank GroupCustomer non-solicitLast day of serviceFinal timesheet09 SepLive, 188 days
R-27Halbrook PartnersEmployee non-solicitMSA terminationTermination notice22 NovLive, 262 days
R-20Dunmore FreightCustomer non-solicitLast day of serviceFinal invoice04 AugLive, 152 days
R-31Vance RailNon-competeAgreement terminationNone. MSA auto-renewsNo end dateLive indefinitely
R-19Dunmore FreightNon-competeLast day of serviceFinal invoice04 AugVoid, Minnesota
R-08Pell and RoweNon-competeLast day of serviceFinal invoice17 JulVoid, California
R-05Sterling YardsNon-competeLast day of serviceFinal invoice12 JunExpired 266 days
R-22Ellery FoodsExclusivitySOW end dateExecuted SOW-431 JanExpired 33 days

34 restrictions: 12 expired, 3 void where they would bite, 19 live. Of the 19, seven are confidentiality obligations and five are IP assignments. None of those twelve stops the practice working anywhere. Four employee non-solicits, two customer non-solicits and one undated non-compete are the whole of what actually blocks an engagement.

Opportunity Clearance Record

Calderwood Logistics, network operations diagnostic, $96,000. Inbound on 02 Mar, cleared 05 Mar. Every live row read, and the misses recorded with a reason each.

RefReaches this?How, or why notConditionVerdict
R-14YesCalderwood is a Northbank customer, and the clause reads solicit or acceptNo proposal until counsel answers. Inbound email filedConditional
R-27YesClause reaches Client and its Affiliates. Halbrook’s parent acquired Calderwood on 04 Mar, one day before clearanceSOW carves out all recruitment. The dispatch associate is not approachedConditional
R-09PartlyNo licence-back, so the client-specific model built for Pell and Rowe cannot be reusedUse the R-11 licence-back methodology insteadConditional
R-20NoCalderwood is not a Dunmore customer, checked against their customer list at Appendix BClear
R-31NoScoped to rail freight. This is road and warehousingClear
R-05NoExpired. This is the row that would have declined the work on memoryClear
R-24NoVoid under California law, and it predates any engagement with themClear

Two of 19 live rows touched it. Verdict: proceed, two conditions, one question to counsel. Neither of the two was found by reading the obvious contract. One came through a customer list and the other through an acquisition three days old.

Conflict Check Log

Every opportunity, checked or not, with what the answer was based on. The first three predate the register.

DateOpportunityFeeRows readAnswerOutcome
18 SepFreight network diagnostic$84,000NoneDeclined on the Sterling Yards non-competeDeclined in error. R-05 had expired 98 days earlier
06 NovDepot consolidation study$52,000NoneProceeded, nothing came to mindRight answer, unchecked. R-20 was live and their largest customer is a Dunmore customer
24 FebCold-chain operations review$61,000NoneDeclined on the Ellery Foods exclusivityDeclined in error. R-22 had expired 24 days earlier
02 MarRegister built from 11 contractsAll 34BaselineOne afternoon. 12 expired, 3 void, 19 live
05 MarNetwork operations diagnostic$96,00019 of 34Proceed with two conditionsCleared in 25 minutes
11 MarYard throughput review$38,00019 of 34Proceed, nothing touchingCleared in 6 minutes. Former client, all three of their dated rows expired

$145,000 of priced work declined against restrictions that were already dead, against $310,000 of pipeline the register cleared in 31 minutes. The false decline is the error nobody audits, because there is no client to complain and no invoice to miss.

Restriction Summary

Written to be read in the two minutes between a prospect’s call and an answer. No defined terms, no clause numbers.

SectionWhat it says
What you can do todayOperations, logistics and supply chain work with anybody outside eight named companies, in any geography. Nothing in the portfolio restricts a service line generally and nothing restricts a territory
What you cannot do todaySolicit Northbank’s customers until 9 Sep. Solicit or hire a Halbrook employee, or one at any affiliate, until 22 Nov. Solicit Dunmore’s customers until 4 Aug. Take competing rail work while the Vance Rail MSA stays in force
What you thought you could not and canFreight and logistics generally, since 12 Jun. Food and beverage manufacturing, since 31 Jan. Anything the two California non-competes purport to stop
What is always onSeven confidentiality obligations, three of them perpetual for trade secrets, and five IP assignments. None stops you working anywhere. Three carry a licence-back covering generic method and none covers the artifact
Four things to fixTerminate the dormant Vance Rail MSA in writing to start its clock. Buy one hour on the Northbank solicit-or-accept question. Diary 4 Aug, 9 Sep, 22 Nov and the Vance Rail renewal. Ask for a trigger-date acknowledgement at the end of every engagement

Nothing here decides an enforceability question. Seven rows are marked for counsel, each with one answerable question about one clause, naming the governing law and the likely forum. That is a cheaper purchase than an hour of somebody reading eleven contracts from scratch, which is what gets bought after a client complains.

What's in the pack

01

Restriction Register

One row per restriction with its trigger event, the record proving that date, the resolved population and a three-valued status.

02

Opportunity Clearance Record

Every live row read against one opportunity, including the ones that turned out not to apply, each with its reason recorded before a proposal exists.

03

Conflict Check Log

One row per opportunity ever checked, with what the answer rested on, so a decline made from memory is visible as one.

04

Restriction Summary

Plain language, no defined terms, opening on what you can do and carrying a section for what you wrongly thought you could not.

05

Clearance Note

The per-opportunity record: what was checked in counts, how each live row reaches the work, and the condition in the form the contract will carry. A licence-back clearing the method is a separate question from whether the deliverable itself is safe to reuse, which the knowledge library pack tests directly. Whether enough associate capacity exists to staff the cleared work at all is a third, which the associate network pack tracks.

06

Waiver Request Format

The narrow ask that gets answered in a week. One named prospect, one engagement, a stated period, and a response-by date.

07

How a Restriction Clock Works

The four trigger shapes, what record proves each one, and the auto-renewing agreement that leaves a twelve-month clause running forever.

08

A restriction has a date or it has a question

The standing rule. An undated row is never cleared against, and a row turning on law is routed rather than guessed at.

How to use it

  1. 1

    Open in River, or take it blank

    Open the pack in River and send every executed agreement, or download the Word documents and CSV sheets and build the register yourself.

  2. 2

    Split every contract into rows

    One row per restriction rather than one per client. Most practitioners guess eight or ten across their portfolio and find three times that.

  3. 3

    Date each row from its trigger

    Find the final invoice, the last timesheet, the termination notice. A row with no proving record stays undated rather than estimated.

  4. 4

    Clear the opportunity, record the misses

    Re-resolve the affiliate sets, compare on four axes, and write a reason against every live row that turned out not to apply.

Frequently asked questions

Is this template free?

Yes. The zip is Word documents and CSV sheets, no account and no card. Edit with AI is the optional half: the agent reads the executed contracts, dates each restriction from its trigger and resolves who it covers. The rest of the packs sit in the template library.

What format are the downloaded files?

Four Word documents and three CSV sheets in one zip. The register carries the columns that do the work: trigger event, the record proving its date, live-until, resolved population, status, governing law and the counsel question. Excel, Numbers and Google Sheets all open them.

What does Edit with AI actually do?

It reads every MSA, SOW, NDA and amendment, then writes one row per restriction with the scope in the contract's own words. Each row is dated from its trigger against the record you supplied. Then it resolves the affiliate and customer sets and marks the rows whose status turns on law.

Are non-competes not banned now?

No. The FTC rule was held unlawful and set aside, the Commission acceded to the vacatur in September 2025, and the February 2026 final rule removed the rule from the Code of Federal Regulations. What governs is the contract, the state and the forum.

Why is the status three-valued rather than live or expired?

Because a restriction can be textually live and legally void, and a two-valued column records that as live. California voids any contract restraining a lawful profession and reads that broadly enough to catch a narrowly tailored noncompete. A live-or-expired register would have declined that work.

Can one clause block be void and live at the same time?

Routinely, and it is the finding people miss. Minnesota voids covenants not to compete, counts an independent contractor as an employee, and then says a covenant not to compete does not include a nonsolicitation agreement. So the non-compete dies and the customer non-solicit beside it stands.

Does this replace a lawyer?

No, and it is built so it does not have to. Rows turning on law are routed rather than decided, each as one answerable question about one clause. In the worked example that is seven questions, which is a cheaper purchase than an hour of somebody reading eleven contracts after an engagement has gone wrong.

Answer it from a row, not from memory

Take the Word documents and CSV sheets blank, or send River your executed contracts and get every restriction dated, populated and statused back.

Edit with AI