open-agreements 0.7.7 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -21
- package/README.de.md +16 -29
- package/README.es.md +16 -29
- package/README.md +45 -54
- package/README.pt-br.md +16 -29
- package/README.template.md +19 -25
- package/README.zh.md +16 -29
- package/content/recipes/nvca-certificate-of-incorporation/fields/acquisition_exception_shares.json +36 -0
- package/content/recipes/nvca-certificate-of-incorporation/fields/adjustment_notice_days.json +22 -0
- package/content/recipes/nvca-certificate-of-incorporation/fields/common_shares_authorized.json +22 -0
- package/content/recipes/nvca-certificate-of-incorporation/fields/company_name.json +29 -0
- package/content/recipes/nvca-certificate-of-incorporation/fields/conversion_notice_days.json +22 -0
- package/content/recipes/nvca-certificate-of-incorporation/fields/dividend_formula_alt.json +22 -0
- package/content/recipes/nvca-certificate-of-incorporation/fields/dividend_rate_per_share.json +22 -0
- package/content/recipes/nvca-certificate-of-incorporation/fields/dividend_rate_percent.json +22 -0
- package/content/recipes/nvca-certificate-of-incorporation/fields/effective_date.json +22 -0
- package/content/recipes/nvca-certificate-of-incorporation/fields/number_of_classes.json +29 -0
- package/content/recipes/nvca-certificate-of-incorporation/fields/original_issue_price.json +22 -0
- package/content/recipes/nvca-certificate-of-incorporation/fields/par_value.json +36 -0
- package/content/recipes/nvca-certificate-of-incorporation/fields/preferred_director_seats.json +22 -0
- package/content/recipes/nvca-certificate-of-incorporation/fields/preferred_shares_authorized.json +22 -0
- package/content/recipes/nvca-certificate-of-incorporation/fields/preferred_shares_designated_portion.json +29 -0
- package/content/recipes/nvca-certificate-of-incorporation/fields/preferred_shares_outstanding_threshold.json +29 -0
- package/content/recipes/nvca-certificate-of-incorporation/fields/qualified_financing_notice_days.json +22 -0
- package/content/recipes/nvca-certificate-of-incorporation/fields/redemption_interest_rate.json +22 -0
- package/content/recipes/nvca-certificate-of-incorporation/fields/redemption_start_date.json +22 -0
- package/content/recipes/nvca-certificate-of-incorporation/fields/registered_agent_address.json +22 -0
- package/content/recipes/nvca-certificate-of-incorporation/fields/registered_agent_name.json +22 -0
- package/content/recipes/nvca-certificate-of-incorporation/fields/series_designation.json +22 -0
- package/content/recipes/nvca-certificate-of-incorporation/fields/signature_page_marker.json +22 -0
- package/content/recipes/nvca-certificate-of-incorporation/fields/specify_percentage.json +22 -0
- package/content/recipes/nvca-certificate-of-incorporation/fields/strategic_partnership_exception_shares.json +22 -0
- package/content/recipes/nvca-certificate-of-incorporation/fields/time_zone.json +22 -0
- package/content/recipes/nvca-certificate-of-incorporation/fields/total_authorized_shares.json +22 -0
- package/content/recipes/nvca-certificate-of-incorporation/template-manifest.json +77 -0
- package/content/recipes/nvca-stock-purchase-agreement/fields/agreement_date_month_day.json +27 -0
- package/content/recipes/nvca-stock-purchase-agreement/fields/agreement_year_two_digits.json +27 -0
- package/content/recipes/nvca-stock-purchase-agreement/fields/company_name.json +25 -0
- package/content/recipes/nvca-stock-purchase-agreement/fields/investor_counsel.json +27 -0
- package/content/recipes/nvca-stock-purchase-agreement/fields/minimum_shares_initial_closing.json +39 -0
- package/content/recipes/nvca-stock-purchase-agreement/fields/optional_plural_suffix.json +27 -0
- package/content/recipes/nvca-stock-purchase-agreement/fields/par_value_per_share.json +28 -0
- package/content/recipes/nvca-stock-purchase-agreement/fields/purchase_price_per_share.json +28 -0
- package/content/recipes/nvca-stock-purchase-agreement/fields/series_designation.json +159 -0
- package/content/recipes/nvca-stock-purchase-agreement/metadata.yaml +1 -1
- package/content/recipes/nvca-stock-purchase-agreement/template-manifest.json +24 -0
- package/content/templates/bonterms-mutual-nda/template.docx +0 -0
- package/content/templates/openagreements-board-consent-safe/.template.generated.json +0 -1
- package/content/templates/openagreements-employee-ip-inventions-assignment/.template.generated.json +9 -5
- package/content/templates/openagreements-employee-ip-inventions-assignment/README.md +2 -0
- package/content/templates/openagreements-employee-ip-inventions-assignment/metadata.yaml +8 -9
- package/content/templates/openagreements-employee-ip-inventions-assignment/template.docx +0 -0
- package/content/templates/openagreements-employee-ip-inventions-assignment/template.md +3 -4
- package/content/templates/openagreements-employment-confidentiality-acknowledgement/metadata.yaml +0 -9
- package/content/templates/openagreements-employment-confidentiality-acknowledgement/template.docx +0 -0
- package/content/templates/openagreements-employment-confidentiality-acknowledgement/template.json +0 -1
- package/content/templates/openagreements-employment-offer-letter/.template.generated.json +9 -5
- package/content/templates/openagreements-employment-offer-letter/README.md +17 -5
- package/content/templates/openagreements-employment-offer-letter/metadata.yaml +8 -9
- package/content/templates/openagreements-employment-offer-letter/template.docx +0 -0
- package/content/templates/openagreements-employment-offer-letter/template.md +3 -4
- package/content/templates/openagreements-restrictive-covenant-florida/.template.generated.json +9 -5
- package/content/templates/openagreements-restrictive-covenant-florida/README.md +2 -2
- package/content/templates/openagreements-restrictive-covenant-florida/metadata.yaml +10 -12
- package/content/templates/openagreements-restrictive-covenant-florida/template.docx +0 -0
- package/content/templates/openagreements-restrictive-covenant-florida/template.md +3 -4
- package/content/templates/openagreements-restrictive-covenant-wyoming/.template.generated.json +9 -5
- package/content/templates/openagreements-restrictive-covenant-wyoming/metadata.yaml +10 -12
- package/content/templates/openagreements-restrictive-covenant-wyoming/template.docx +0 -0
- package/content/templates/openagreements-restrictive-covenant-wyoming/template.md +3 -4
- package/content/templates/openagreements-stockholder-consent-safe/.template.generated.json +0 -1
- package/dist/core/checklist/format-checklist-docx.d.ts.map +1 -1
- package/dist/core/checklist/format-checklist-docx.js +4 -1
- package/dist/core/checklist/format-checklist-docx.js.map +1 -1
- package/dist/core/engine.d.ts.map +1 -1
- package/dist/core/engine.js +2 -40
- package/dist/core/engine.js.map +1 -1
- package/dist/core/fill-pipeline.d.ts +0 -8
- package/dist/core/fill-pipeline.d.ts.map +1 -1
- package/dist/core/fill-pipeline.js +54 -30
- package/dist/core/fill-pipeline.js.map +1 -1
- package/dist/core/humanize-docx.d.ts.map +1 -1
- package/dist/core/humanize-docx.js +16 -6
- package/dist/core/humanize-docx.js.map +1 -1
- package/dist/core/recipe/bracket-normalizer.d.ts.map +1 -1
- package/dist/core/recipe/bracket-normalizer.js +3 -7
- package/dist/core/recipe/bracket-normalizer.js.map +1 -1
- package/dist/core/recipe/cleaner.js +5 -5
- package/dist/core/recipe/cleaner.js.map +1 -1
- package/dist/core/recipe/index.d.ts +1 -1
- package/dist/core/recipe/index.d.ts.map +1 -1
- package/dist/core/recipe/index.js +57 -4
- package/dist/core/recipe/index.js.map +1 -1
- package/dist/core/recipe/ooxml-parts.d.ts +11 -0
- package/dist/core/recipe/ooxml-parts.d.ts.map +1 -1
- package/dist/core/recipe/ooxml-parts.js +22 -0
- package/dist/core/recipe/ooxml-parts.js.map +1 -1
- package/dist/core/recipe/patcher.d.ts.map +1 -1
- package/dist/core/recipe/patcher.js +2 -5
- package/dist/core/recipe/patcher.js.map +1 -1
- package/dist/core/recipe/source-drift.d.ts +19 -0
- package/dist/core/recipe/source-drift.d.ts.map +1 -1
- package/dist/core/recipe/source-drift.js +32 -2
- package/dist/core/recipe/source-drift.js.map +1 -1
- package/dist/core/selector.d.ts.map +1 -1
- package/dist/core/selector.js +49 -4
- package/dist/core/selector.js.map +1 -1
- package/dist/core/selectors/index.d.ts +40 -0
- package/dist/core/selectors/index.d.ts.map +1 -0
- package/dist/core/selectors/index.js +64 -0
- package/dist/core/selectors/index.js.map +1 -0
- package/dist/core/selectors/loader.d.ts +16 -0
- package/dist/core/selectors/loader.d.ts.map +1 -0
- package/dist/core/selectors/loader.js +80 -0
- package/dist/core/selectors/loader.js.map +1 -0
- package/dist/core/selectors/manifest-schema.d.ts +123 -0
- package/dist/core/selectors/manifest-schema.d.ts.map +1 -0
- package/dist/core/selectors/manifest-schema.js +93 -0
- package/dist/core/selectors/manifest-schema.js.map +1 -0
- package/dist/core/selectors/patch.d.ts +24 -0
- package/dist/core/selectors/patch.d.ts.map +1 -0
- package/dist/core/selectors/patch.js +68 -0
- package/dist/core/selectors/patch.js.map +1 -0
- package/dist/core/selectors/postconditions.d.ts +24 -0
- package/dist/core/selectors/postconditions.d.ts.map +1 -0
- package/dist/core/selectors/postconditions.js +50 -0
- package/dist/core/selectors/postconditions.js.map +1 -0
- package/dist/core/selectors/resolve.d.ts +32 -0
- package/dist/core/selectors/resolve.d.ts.map +1 -0
- package/dist/core/selectors/resolve.js +36 -0
- package/dist/core/selectors/resolve.js.map +1 -0
- package/dist/core/unified-pipeline.d.ts +3 -1
- package/dist/core/unified-pipeline.d.ts.map +1 -1
- package/dist/core/unified-pipeline.js +19 -5
- package/dist/core/unified-pipeline.js.map +1 -1
- package/gemini-extension.json +1 -1
- package/node_modules/@usejunior/docx-core/LICENSE +202 -21
- package/node_modules/@usejunior/docx-core/NOTICE +2 -0
- package/node_modules/@usejunior/docx-core/README.md +2 -2
- package/node_modules/@usejunior/docx-core/dist/.tsbuildinfo +1 -1
- package/node_modules/@usejunior/docx-core/dist/atomizer.d.ts +55 -0
- package/node_modules/@usejunior/docx-core/dist/atomizer.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/atomizer.js +139 -14
- package/node_modules/@usejunior/docx-core/dist/atomizer.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/auxiliaryIdCollision.d.ts +99 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/auxiliaryIdCollision.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/auxiliaryIdCollision.js +415 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/auxiliaryIdCollision.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/documentReconstructor.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/documentReconstructor.js +403 -113
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/documentReconstructor.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/formattingFidelity.d.ts +99 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/formattingFidelity.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/formattingFidelity.js +449 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/formattingFidelity.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-bookmarks.d.ts +37 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-bookmarks.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-bookmarks.js +189 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-bookmarks.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-containers.d.ts +74 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-containers.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-containers.js +171 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-containers.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-deletion.d.ts +88 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-deletion.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-deletion.js +326 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-deletion.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-postprocess.d.ts +85 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-postprocess.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-postprocess.js +402 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-postprocess.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-presplit.d.ts +39 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-presplit.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-presplit.js +265 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-presplit.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-shared.d.ts +62 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-shared.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-shared.js +139 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-shared.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-wrappers.d.ts +198 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-wrappers.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-wrappers.js +475 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-wrappers.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier.d.ts +6 -290
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier.js +23 -1828
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/pipeline.d.ts +36 -2
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/pipeline.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/pipeline.js +456 -224
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/pipeline.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/trackChangesAcceptorAst.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/trackChangesAcceptorAst.js +199 -173
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/trackChangesAcceptorAst.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/baselines/wmlcomparer/DotnetCli.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/baselines/wmlcomparer/DotnetCli.js +7 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/wmlcomparer/DotnetCli.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/cli/compare-two.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/cli/compare-two.js +3 -1
- package/node_modules/@usejunior/docx-core/dist/cli/compare-two.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/cli/conformance-adapter.d.ts +3 -0
- package/node_modules/@usejunior/docx-core/dist/cli/conformance-adapter.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/cli/conformance-adapter.js +93 -0
- package/node_modules/@usejunior/docx-core/dist/cli/conformance-adapter.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/cli/index.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/cli/index.js +5 -1
- package/node_modules/@usejunior/docx-core/dist/cli/index.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/compare-types.d.ts +197 -0
- package/node_modules/@usejunior/docx-core/dist/compare-types.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/compare-types.js +2 -0
- package/node_modules/@usejunior/docx-core/dist/compare-types.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/core-types.d.ts +5 -1
- package/node_modules/@usejunior/docx-core/dist/core-types.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/core-types.js +5 -1
- package/node_modules/@usejunior/docx-core/dist/core-types.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/footnotes.d.ts +8 -3
- package/node_modules/@usejunior/docx-core/dist/footnotes.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/footnotes.js +8 -3
- package/node_modules/@usejunior/docx-core/dist/footnotes.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/generation/compile.d.ts +22 -0
- package/node_modules/@usejunior/docx-core/dist/generation/compile.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/compile.js +58 -0
- package/node_modules/@usejunior/docx-core/dist/generation/compile.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/context.d.ts +42 -0
- package/node_modules/@usejunior/docx-core/dist/generation/context.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/context.js +65 -0
- package/node_modules/@usejunior/docx-core/dist/generation/context.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/comments-part.d.ts +36 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/comments-part.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/comments-part.js +116 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/comments-part.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/document-part.d.ts +24 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/document-part.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/document-part.js +60 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/document-part.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/emit-context.d.ts +28 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/emit-context.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/emit-context.js +19 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/emit-context.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/font-table-part.d.ts +16 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/font-table-part.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/font-table-part.js +74 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/font-table-part.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/header-footer-part.d.ts +23 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/header-footer-part.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/header-footer-part.js +57 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/header-footer-part.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/numbering-part.d.ts +29 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/numbering-part.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/numbering-part.js +102 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/numbering-part.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/package-parts.d.ts +24 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/package-parts.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/package-parts.js +121 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/package-parts.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/paragraph.d.ts +24 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/paragraph.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/paragraph.js +63 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/paragraph.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/properties.d.ts +36 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/properties.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/properties.js +157 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/properties.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/run.d.ts +16 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/run.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/run.js +71 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/run.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/section.d.ts +29 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/section.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/section.js +117 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/section.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/settings-part.d.ts +13 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/settings-part.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/settings-part.js +68 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/settings-part.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/styles-part.d.ts +16 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/styles-part.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/styles-part.js +82 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/styles-part.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/table.d.ts +26 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/table.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/table.js +209 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/table.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/theme-part.d.ts +21 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/theme-part.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/theme-part.js +151 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/theme-part.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/web-settings-part.d.ts +12 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/web-settings-part.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/web-settings-part.js +19 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/web-settings-part.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/errors.d.ts +22 -0
- package/node_modules/@usejunior/docx-core/dist/generation/errors.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/errors.js +29 -0
- package/node_modules/@usejunior/docx-core/dist/generation/errors.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/index.d.ts +13 -0
- package/node_modules/@usejunior/docx-core/dist/generation/index.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/index.js +12 -0
- package/node_modules/@usejunior/docx-core/dist/generation/index.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/ordering.d.ts +46 -0
- package/node_modules/@usejunior/docx-core/dist/generation/ordering.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/ordering.js +119 -0
- package/node_modules/@usejunior/docx-core/dist/generation/ordering.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/recipes.d.ts +87 -0
- package/node_modules/@usejunior/docx-core/dist/generation/recipes.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/recipes.js +232 -0
- package/node_modules/@usejunior/docx-core/dist/generation/recipes.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/structural-checks.d.ts +24 -0
- package/node_modules/@usejunior/docx-core/dist/generation/structural-checks.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/structural-checks.js +318 -0
- package/node_modules/@usejunior/docx-core/dist/generation/structural-checks.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/theme-colors.d.ts +4 -0
- package/node_modules/@usejunior/docx-core/dist/generation/theme-colors.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/theme-colors.js +18 -0
- package/node_modules/@usejunior/docx-core/dist/generation/theme-colors.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/types.d.ts +266 -0
- package/node_modules/@usejunior/docx-core/dist/generation/types.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/types.js +63 -0
- package/node_modules/@usejunior/docx-core/dist/generation/types.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/validate-spec.d.ts +27 -0
- package/node_modules/@usejunior/docx-core/dist/generation/validate-spec.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/validate-spec.js +363 -0
- package/node_modules/@usejunior/docx-core/dist/generation/validate-spec.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/index.d.ts +9 -150
- package/node_modules/@usejunior/docx-core/dist/index.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/index.js +14 -0
- package/node_modules/@usejunior/docx-core/dist/index.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/integration/generation-probes.d.ts +15 -0
- package/node_modules/@usejunior/docx-core/dist/integration/generation-probes.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/integration/generation-probes.js +84 -0
- package/node_modules/@usejunior/docx-core/dist/integration/generation-probes.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/integration/libreoffice-oracle.d.ts +49 -0
- package/node_modules/@usejunior/docx-core/dist/integration/libreoffice-oracle.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/integration/libreoffice-oracle.js +290 -0
- package/node_modules/@usejunior/docx-core/dist/integration/libreoffice-oracle.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/integration/synthetic-docx-fixture.d.ts +134 -0
- package/node_modules/@usejunior/docx-core/dist/integration/synthetic-docx-fixture.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/integration/synthetic-docx-fixture.js +298 -0
- package/node_modules/@usejunior/docx-core/dist/integration/synthetic-docx-fixture.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/accept_changes.d.ts +4 -3
- package/node_modules/@usejunior/docx-core/dist/primitives/accept_changes.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/accept_changes.js +163 -77
- package/node_modules/@usejunior/docx-core/dist/primitives/accept_changes.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/comments.d.ts +12 -3
- package/node_modules/@usejunior/docx-core/dist/primitives/comments.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/comments.js +374 -97
- package/node_modules/@usejunior/docx-core/dist/primitives/comments.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/content_fingerprint.d.ts +29 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/content_fingerprint.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/content_fingerprint.js +63 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/content_fingerprint.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/document.d.ts +94 -15
- package/node_modules/@usejunior/docx-core/dist/primitives/document.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/document.js +377 -234
- package/node_modules/@usejunior/docx-core/dist/primitives/document.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/document_view-comments.d.ts +18 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/document_view-comments.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/document_view-comments.js +160 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/document_view-comments.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/document_view-headings.d.ts +45 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/document_view-headings.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/document_view-headings.js +247 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/document_view-headings.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/document_view-styles.d.ts +11 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/document_view-styles.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/document_view-styles.js +104 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/document_view-styles.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/document_view-toon.d.ts +37 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/document_view-toon.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/document_view-toon.js +199 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/document_view-toon.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/document_view-types.d.ts +165 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/document_view-types.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/document_view-types.js +2 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/document_view-types.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/document_view.d.ts +50 -101
- package/node_modules/@usejunior/docx-core/dist/primitives/document_view.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/document_view.js +287 -326
- package/node_modules/@usejunior/docx-core/dist/primitives/document_view.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/dom-helpers.d.ts +9 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/dom-helpers.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/dom-helpers.js +10 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/dom-helpers.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/footnotes.d.ts +4 -3
- package/node_modules/@usejunior/docx-core/dist/primitives/footnotes.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/footnotes.js +232 -44
- package/node_modules/@usejunior/docx-core/dist/primitives/footnotes.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/formatting_tags.d.ts +7 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/formatting_tags.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/formatting_tags.js +22 -11
- package/node_modules/@usejunior/docx-core/dist/primitives/formatting_tags.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/index.d.ts +12 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/index.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/index.js +11 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/index.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/layout.d.ts +4 -3
- package/node_modules/@usejunior/docx-core/dist/primitives/layout.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/layout.js +45 -3
- package/node_modules/@usejunior/docx-core/dist/primitives/layout.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/locator.d.ts +76 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/locator.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/locator.js +223 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/locator.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/merge_runs.d.ts +21 -3
- package/node_modules/@usejunior/docx-core/dist/primitives/merge_runs.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/merge_runs.js +32 -10
- package/node_modules/@usejunior/docx-core/dist/primitives/merge_runs.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/minimal_save.d.ts +38 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/minimal_save.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/minimal_save.js +323 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/minimal_save.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/namespaces.d.ts +53 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/namespaces.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/namespaces.js +59 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/namespaces.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/reject_changes.d.ts +6 -4
- package/node_modules/@usejunior/docx-core/dist/primitives/reject_changes.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/reject_changes.js +187 -91
- package/node_modules/@usejunior/docx-core/dist/primitives/reject_changes.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/revision-parts.d.ts +7 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/revision-parts.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/revision-parts.js +27 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/revision-parts.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/revision-vocabulary.d.ts +7 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/revision-vocabulary.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/revision-vocabulary.js +39 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/revision-vocabulary.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/schema-corpus-capture.d.ts +19 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/schema-corpus-capture.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/schema-corpus-capture.js +29 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/schema-corpus-capture.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/sectPrAudit.d.ts +19 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/sectPrAudit.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/sectPrAudit.js +165 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/sectPrAudit.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/semantic_tags.d.ts +7 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/semantic_tags.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/semantic_tags.js +23 -4
- package/node_modules/@usejunior/docx-core/dist/primitives/semantic_tags.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/serialize_html.d.ts +37 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/serialize_html.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/serialize_html.js +395 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/serialize_html.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/serialize_markdown.d.ts +16 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/serialize_markdown.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/serialize_markdown.js +300 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/serialize_markdown.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/serialize_plaintext.d.ts +15 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/serialize_plaintext.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/serialize_plaintext.js +154 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/serialize_plaintext.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/styles.d.ts +15 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/styles.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/styles.js +33 -22
- package/node_modules/@usejunior/docx-core/dist/primitives/styles.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/table_context.d.ts +19 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/table_context.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/table_context.js +189 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/table_context.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/tables.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/tables.js +13 -3
- package/node_modules/@usejunior/docx-core/dist/primitives/tables.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/text.d.ts +2 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/text.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/text.js +116 -12
- package/node_modules/@usejunior/docx-core/dist/primitives/text.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/track-changes-emitter.d.ts +148 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/track-changes-emitter.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/track-changes-emitter.js +291 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/track-changes-emitter.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/validate_ai_revisions.d.ts +35 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/validate_ai_revisions.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/validate_ai_revisions.js +323 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/validate_ai_revisions.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/xml-helpers.d.ts +29 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/xml-helpers.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/xml-helpers.js +35 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/xml-helpers.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/xml.d.ts +5 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/xml.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/xml.js +5 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/xml.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/zip.d.ts +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/zip.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/zip.js +21 -3
- package/node_modules/@usejunior/docx-core/dist/primitives/zip.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/shared/field-structure.d.ts +14 -0
- package/node_modules/@usejunior/docx-core/dist/shared/field-structure.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/shared/field-structure.js +166 -0
- package/node_modules/@usejunior/docx-core/dist/shared/field-structure.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/shared/ooxml/namespaces.d.ts +4 -1
- package/node_modules/@usejunior/docx-core/dist/shared/ooxml/namespaces.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/shared/ooxml/namespaces.js +4 -1
- package/node_modules/@usejunior/docx-core/dist/shared/ooxml/namespaces.js.map +1 -1
- package/node_modules/@usejunior/docx-core/package.json +13 -9
- package/node_modules/@xmldom/xmldom/CHANGELOG.md +186 -70
- package/node_modules/@xmldom/xmldom/index.d.ts +144 -19
- package/node_modules/@xmldom/xmldom/lib/dom.js +705 -343
- package/node_modules/@xmldom/xmldom/lib/grammar.js +14 -0
- package/node_modules/@xmldom/xmldom/package.json +13 -10
- package/package.json +7 -7
- package/server.json +3 -3
- package/skills/{cloud-service-agreement → agreements/cloud-service-agreement}/SKILL.md +2 -2
- package/skills/{nda → agreements/cloud-service-agreement}/template-filling-execution.md +2 -2
- package/skills/{data-privacy-agreement → agreements/data-privacy-agreement}/SKILL.md +15 -4
- package/skills/{safe → agreements/data-privacy-agreement}/template-filling-execution.md +12 -6
- package/skills/{employment-contract → agreements/employment-contract}/SKILL.md +3 -3
- package/skills/{cloud-service-agreement → agreements/employment-contract}/template-filling-execution.md +12 -6
- package/skills/{nda → agreements/nda}/SKILL.md +2 -2
- package/skills/{open-agreements → agreements/nda}/template-filling-execution.md +12 -6
- package/skills/{open-agreements → agreements/open-agreements}/SKILL.md +13 -30
- package/skills/agreements/open-agreements/template-filling-execution.md +98 -0
- package/skills/{safe → agreements/safe}/SKILL.md +2 -2
- package/skills/agreements/safe/template-filling-execution.md +98 -0
- package/skills/{services-agreement → agreements/services-agreement}/SKILL.md +3 -3
- package/skills/agreements/services-agreement/template-filling-execution.md +98 -0
- package/skills/{venture-financing → agreements/venture-financing}/SKILL.md +3 -3
- package/skills/agreements/venture-financing/template-filling-execution.md +98 -0
- package/skills/{client-email → client-workflows/client-email}/SKILL.md +1 -1
- package/skills/{delaware-franchise-tax → client-workflows/delaware-franchise-tax}/SKILL.md +1 -1
- package/skills/{edit-docx-agreement → client-workflows/edit-docx-agreement}/SKILL.md +1 -1
- package/skills/{iso-27001-evidence-collection → compliance/iso-27001-evidence-collection}/SKILL.md +1 -1
- package/skills/{iso-27001-internal-audit → compliance/iso-27001-internal-audit}/SKILL.md +1 -1
- package/skills/{soc2-readiness → compliance/soc2-readiness}/SKILL.md +1 -1
- package/skills/{canonical-markdown-authoring → internal/canonical-markdown-authoring}/SKILL.md +2 -3
- package/skills/{recipe-quality-audit → internal/recipe-quality-audit}/SKILL.md +2 -1
- package/skills/{unit-test-philosophy → internal/unit-test-philosophy}/SKILL.md +2 -0
- package/skills/legal-explainers/data-privacy-law-explainer/CONTRIBUTING.md +7 -0
- package/skills/legal-explainers/data-privacy-law-explainer/LICENSE +269 -0
- package/skills/legal-explainers/data-privacy-law-explainer/NOTICE +7 -0
- package/skills/legal-explainers/data-privacy-law-explainer/SKILL.md +113 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/alabama.md +211 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/alaska.md +155 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/arizona.md +181 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/arkansas.md +219 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/california.md +107 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/colorado.md +87 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/connecticut.md +83 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/delaware.md +85 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/district-of-columbia.md +153 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/florida.md +234 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/georgia.md +149 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/hawaii.md +167 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/idaho.md +149 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/illinois.md +238 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/indiana.md +93 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/iowa.md +99 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/kansas.md +155 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/kentucky.md +87 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/louisiana.md +209 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/maine.md +163 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/maryland.md +85 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/massachusetts.md +260 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/michigan.md +175 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/minnesota.md +93 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/mississippi.md +132 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/missouri.md +179 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/montana.md +105 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/nebraska.md +83 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/nevada.md +212 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/new-hampshire.md +91 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/new-jersey.md +95 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/new-mexico.md +174 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/new-york.md +195 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/north-carolina.md +205 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/north-dakota.md +169 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/ohio.md +171 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/oklahoma.md +168 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/oregon.md +103 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/pennsylvania.md +99 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/rhode-island.md +93 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/south-carolina.md +175 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/south-dakota.md +176 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/tennessee.md +89 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/texas.md +89 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/utah.md +83 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/vermont.md +267 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/virginia.md +85 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/washington.md +247 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/west-virginia.md +141 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/wisconsin.md +156 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/wyoming.md +185 -0
- package/skills/legal-explainers/data-privacy-law-explainer/manifest.json +519 -0
- package/skills/legal-explainers/non-compete-contract-explainer/CONTRIBUTING.md +7 -0
- package/skills/legal-explainers/non-compete-contract-explainer/LICENSE +269 -0
- package/skills/legal-explainers/non-compete-contract-explainer/NOTICE +7 -0
- package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/SKILL.md +1 -1
- package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/alabama.md +5 -5
- package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/alaska.md +5 -5
- package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/american-samoa.md +6 -6
- package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/arizona.md +6 -4
- package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/arkansas.md +5 -5
- package/skills/legal-explainers/non-compete-contract-explainer/content/au.md +208 -0
- package/skills/legal-explainers/non-compete-contract-explainer/content/australian-capital-territory.md +220 -0
- package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/california.md +5 -5
- package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/cnmi.md +4 -4
- package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/colorado.md +5 -5
- package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/connecticut.md +5 -5
- package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/delaware.md +7 -7
- package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/district-of-columbia.md +5 -5
- package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/florida.md +5 -5
- package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/georgia.md +7 -7
- package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/guam.md +4 -4
- package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/hawaii.md +5 -5
- package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/idaho.md +5 -5
- package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/illinois.md +5 -5
- package/skills/{non-compete-contract-explainer/content/india.md → legal-explainers/non-compete-contract-explainer/content/in.md} +5 -5
- package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/indiana.md +5 -5
- package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/iowa.md +5 -5
- package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/kansas.md +5 -5
- package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/kentucky.md +5 -5
- package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/louisiana.md +9 -9
- package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/maine.md +6 -6
- package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/maryland.md +5 -5
- package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/massachusetts.md +5 -5
- package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/michigan.md +5 -5
- package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/minnesota.md +5 -5
- package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/mississippi.md +5 -5
- package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/missouri.md +5 -5
- package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/montana.md +5 -5
- package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/nebraska.md +5 -5
- package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/nevada.md +5 -5
- package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/new-hampshire.md +5 -5
- package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/new-jersey.md +5 -5
- package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/new-mexico.md +5 -5
- package/skills/legal-explainers/non-compete-contract-explainer/content/new-south-wales.md +218 -0
- package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/new-york.md +5 -5
- package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/north-carolina.md +5 -5
- package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/north-dakota.md +5 -5
- package/skills/legal-explainers/non-compete-contract-explainer/content/northern-territory.md +214 -0
- package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/ohio.md +5 -5
- package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/oklahoma.md +5 -5
- package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/oregon.md +12 -12
- package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/pennsylvania.md +5 -5
- package/skills/{non-compete-contract-explainer/content/philippines.md → legal-explainers/non-compete-contract-explainer/content/ph.md} +5 -5
- package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/puerto-rico.md +4 -4
- package/skills/legal-explainers/non-compete-contract-explainer/content/queensland.md +206 -0
- package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/rhode-island.md +5 -5
- package/skills/{non-compete-contract-explainer/content/singapore.md → legal-explainers/non-compete-contract-explainer/content/sg.md} +5 -5
- package/skills/legal-explainers/non-compete-contract-explainer/content/south-australia.md +236 -0
- package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/south-carolina.md +5 -5
- package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/south-dakota.md +5 -5
- package/skills/legal-explainers/non-compete-contract-explainer/content/tasmania.md +224 -0
- package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/tennessee.md +5 -5
- package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/texas.md +5 -5
- package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/utah.md +5 -5
- package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/vermont.md +29 -11
- package/skills/legal-explainers/non-compete-contract-explainer/content/victoria.md +218 -0
- package/skills/{non-compete-contract-explainer/content/us-virgin-islands.md → legal-explainers/non-compete-contract-explainer/content/virgin-islands.md} +5 -5
- package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/virginia.md +5 -5
- package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/washington.md +5 -5
- package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/west-virginia.md +5 -5
- package/skills/legal-explainers/non-compete-contract-explainer/content/western-australia.md +224 -0
- package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/wisconsin.md +5 -5
- package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/wyoming.md +19 -15
- package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/manifest.json +225 -76
- package/content/templates/bonterms-mutual-nda/signing.yaml +0 -35
- package/dist/core/signing-config.d.ts +0 -46
- package/dist/core/signing-config.d.ts.map +0 -1
- package/dist/core/signing-config.js +0 -67
- package/dist/core/signing-config.js.map +0 -1
- package/skills/services-agreement/template-filling-execution.md +0 -81
- package/skills/shared/template-filling-execution.md +0 -92
- /package/skills/{cloud-service-agreement → agreements/cloud-service-agreement}/CONNECTORS.md +0 -0
- /package/skills/{data-privacy-agreement → agreements/data-privacy-agreement}/CONNECTORS.md +0 -0
- /package/skills/{employment-contract → agreements/employment-contract}/CONNECTORS.md +0 -0
- /package/skills/{nda → agreements/nda}/CONNECTORS.md +0 -0
- /package/skills/{open-agreements → agreements/open-agreements}/CONNECTORS.md +0 -0
- /package/skills/{safe → agreements/safe}/CONNECTORS.md +0 -0
- /package/skills/{services-agreement → agreements/services-agreement}/CONNECTORS.md +0 -0
- /package/skills/{venture-financing → agreements/venture-financing}/CONNECTORS.md +0 -0
- /package/skills/{delaware-franchise-tax → client-workflows/delaware-franchise-tax}/CONNECTORS.md +0 -0
- /package/skills/{delaware-franchise-tax → client-workflows/delaware-franchise-tax}/reference/ecorp-portal-playwright-notes.md +0 -0
- /package/skills/{delaware-franchise-tax → client-workflows/delaware-franchise-tax}/reference/faq.md +0 -0
- /package/skills/{delaware-franchise-tax → client-workflows/delaware-franchise-tax}/reference/filing-instructions.md +0 -0
- /package/skills/{delaware-franchise-tax → client-workflows/delaware-franchise-tax}/reference/tax-calculation.md +0 -0
- /package/skills/{edit-docx-agreement → client-workflows/edit-docx-agreement}/CONNECTORS.md +0 -0
- /package/skills/{iso-27001-evidence-collection → compliance/iso-27001-evidence-collection}/CONNECTORS.md +0 -0
- /package/skills/{iso-27001-evidence-collection → compliance/iso-27001-evidence-collection}/rules/api-exports.md +0 -0
- /package/skills/{iso-27001-evidence-collection → compliance/iso-27001-evidence-collection}/rules/evidence-types.md +0 -0
- /package/skills/{iso-27001-evidence-collection → compliance/iso-27001-evidence-collection}/rules/screenshot-guide.md +0 -0
- /package/skills/{iso-27001-internal-audit → compliance/iso-27001-internal-audit}/CONNECTORS.md +0 -0
- /package/skills/{iso-27001-internal-audit → compliance/iso-27001-internal-audit}/rules/access-control.md +0 -0
- /package/skills/{iso-27001-internal-audit → compliance/iso-27001-internal-audit}/rules/business-continuity.md +0 -0
- /package/skills/{iso-27001-internal-audit → compliance/iso-27001-internal-audit}/rules/change-management.md +0 -0
- /package/skills/{iso-27001-internal-audit → compliance/iso-27001-internal-audit}/rules/encryption.md +0 -0
- /package/skills/{iso-27001-internal-audit → compliance/iso-27001-internal-audit}/rules/incident-response.md +0 -0
- /package/skills/{iso-27001-internal-audit → compliance/iso-27001-internal-audit}/rules/isms-management.md +0 -0
- /package/skills/{iso-27001-internal-audit → compliance/iso-27001-internal-audit}/rules/logging-monitoring.md +0 -0
- /package/skills/{iso-27001-internal-audit → compliance/iso-27001-internal-audit}/rules/people-controls.md +0 -0
- /package/skills/{iso-27001-internal-audit → compliance/iso-27001-internal-audit}/rules/supplier-management.md +0 -0
- /package/skills/{soc2-readiness → compliance/soc2-readiness}/CONNECTORS.md +0 -0
- /package/skills/{soc2-readiness → compliance/soc2-readiness}/rules/change-vendor-management.md +0 -0
- /package/skills/{soc2-readiness → compliance/soc2-readiness}/rules/communication-info.md +0 -0
- /package/skills/{soc2-readiness → compliance/soc2-readiness}/rules/control-activities.md +0 -0
- /package/skills/{soc2-readiness → compliance/soc2-readiness}/rules/control-environment.md +0 -0
- /package/skills/{soc2-readiness → compliance/soc2-readiness}/rules/logical-access.md +0 -0
- /package/skills/{soc2-readiness → compliance/soc2-readiness}/rules/monitoring-activities.md +0 -0
- /package/skills/{soc2-readiness → compliance/soc2-readiness}/rules/optional-categories.md +0 -0
- /package/skills/{soc2-readiness → compliance/soc2-readiness}/rules/privacy-criteria.md +0 -0
- /package/skills/{soc2-readiness → compliance/soc2-readiness}/rules/risk-assessment.md +0 -0
- /package/skills/{soc2-readiness → compliance/soc2-readiness}/rules/system-operations.md +0 -0
- /package/skills/{canonical-markdown-authoring → internal/canonical-markdown-authoring}/CONNECTORS.md +0 -0
- /package/skills/{unit-test-philosophy → internal/unit-test-philosophy}/references/allure-test-spec-writing-guide.md +0 -0
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
---
|
|
2
|
+
jurisdiction: "Australia"
|
|
3
|
+
slug: au
|
|
4
|
+
countryCode: AU
|
|
5
|
+
snapshotAsOf: "2026-06-19"
|
|
6
|
+
lastReviewed: "2026-06-16"
|
|
7
|
+
canonicalUrl: https://openagreements.org/practice-guides/non-compete/au
|
|
8
|
+
license: CC BY 4.0
|
|
9
|
+
stale: false
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
> [!IMPORTANT]
|
|
13
|
+
> **Informational only — not legal advice.** This is a snapshot of an OpenAgreements practice note,
|
|
14
|
+
> provided for general information. It is not legal advice, does not create an attorney-client
|
|
15
|
+
> relationship, and is not a substitute for a licensed attorney in the relevant jurisdiction.
|
|
16
|
+
> Laws change; verify against the canonical version before relying on it.
|
|
17
|
+
>
|
|
18
|
+
> **Canonical:** https://openagreements.org/practice-guides/non-compete/au · **Snapshot as of:** 2026-06-19 · License: CC BY 4.0 · © openagreements.org
|
|
19
|
+
|
|
20
|
+
# Non-Competes in Australia[^about]
|
|
21
|
+
|
|
22
|
+
Australia treats post-employment non-competes under the common-law restraint-of-trade doctrine — presumptively void and enforceable only so far as reasonable to protect a legitimate business interest. Enforceability turns on the governing State or Territory, and NSW's Restraints of Trade Act 1976 lets a court read a restraint down.
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
## At a glance
|
|
26
|
+
|
|
27
|
+
| Question | Australia |
|
|
28
|
+
| --- | --- |
|
|
29
|
+
| **Are non-competes enforceable?** | Allowed if reasonable |
|
|
30
|
+
| **Bottom line** | Australian non-competes are presumptively void restraints of trade and bind a former worker only so far as reasonably necessary to protect a legitimate business interest, with NSW adding a statutory read-down power. |
|
|
31
|
+
| **Main law or case** | Lindner v Murdock's Garage [1950] HCA 48; Restraints of Trade Act 1976 (NSW) |
|
|
32
|
+
| **Main exceptions** | Sale-of-business judged more leniently; NSW statutory read-down; proposed federal ban (not yet law) |
|
|
33
|
+
| **Can a court narrow it?** | Only strikes wording |
|
|
34
|
+
| **Applies to contractors?** | Yes |
|
|
35
|
+
| **Restriction extended during a breach?** | Not addressed |
|
|
36
|
+
| **Maximum length set by law** | No statutory limit |
|
|
37
|
+
|
|
38
|
+
## Are non-competes enforceable in Australia? {#enforceability}
|
|
39
|
+
|
|
40
|
+
**Short answer.** Only if the employer can justify them. A post-employment non-compete is treated as a restraint of trade, which Australian courts presume is invalid unless the employer shows the restraint is reasonably necessary to protect a legitimate business interest and is reasonable in reference to the interests of the parties and the public [^lindner-prima-facie-void] [^olson-justifiable-reasonable]. The validity of the restraint is assessed at the time the contract is made, not with hindsight [^olson-tested-at-contract].
|
|
41
|
+
|
|
42
|
+
Australia is not a per se ban jurisdiction under current law, and there is no national statute setting fixed limits on duration, geography, or worker income. The national starting point is the common-law restraint-of-trade doctrine [^just-presumed-void]. The employer bears the practical burden of moving the clause out of presumptive invalidity by identifying a protectable interest and showing that the restraint does no more than the interest reasonably requires.
|
|
43
|
+
|
|
44
|
+
"Any contractual restraint of trade is prima facie unlawful and invalid."[^lindner-prima-facie-void]
|
|
45
|
+
|
|
46
|
+
Employment restraints receive stricter scrutiny than sale-of-business restraints, because a former employee is usually protecting a livelihood rather than selling goodwill for value [^olson-stricter-employment]. The rest of this national note explains the shared doctrine once, then points you to the State and Territory notes where the governing law, read-down powers, and local authorities matter most.
|
|
47
|
+
|
|
48
|
+
## What must an employer prove? {#legitimate-interest}
|
|
49
|
+
|
|
50
|
+
**Short answer.** The employer must prove a legitimate business interest, not just a wish to avoid competition. Recognised interests include customer or trade connection, goodwill, confidential information, trade secrets, and in some cases workforce stability. Mere competition by a former worker is not enough [^lindner-not-competition-per-se].
|
|
51
|
+
|
|
52
|
+
The central distinction is between protecting an asset and suppressing a rival. Australian restraint law protects the employer's customer connection and confidential information, but it does not convert a former employee's general skill, experience, and know-how into the employer's property [^lindner-trade-connection]. A non-compete that blocks a worker from joining a competitor without tying the restraint to a specific interest is the weakest form of covenant.
|
|
53
|
+
|
|
54
|
+
"An employer must be prepared to face the competition of a former employee if it comes."[^lindner-not-competition-per-se]
|
|
55
|
+
|
|
56
|
+
> [!CAUTION]
|
|
57
|
+
> **Drafting note.**
|
|
58
|
+
>
|
|
59
|
+
> Start with the interest, not the restraint. Identify the customer connection, confidential information, trade secrets, or workforce risk that actually needs protection, then draft the covenant around that interest. A restraint aimed only at preventing ordinary competition is exposed from the start [^lindner-not-competition-per-se].
|
|
60
|
+
|
|
61
|
+
## How long and how wide can it be? {#reasonableness}
|
|
62
|
+
|
|
63
|
+
**Short answer.** There is no Australian statutory maximum. Reasonableness is fact-specific and turns on the activity restrained, the geographic area, the period, the worker's role, the employer's business footprint, and the interest being protected. A restraint is reasonable only so far as it is necessary to protect that interest while preserving the worker's fullest liberty of action consistent with that protection [^bendtech-reasonableness-test], and the question is tested as at contract formation [^olson-tested-at-contract-reasonableness].
|
|
64
|
+
|
|
65
|
+
A court asks whether the restraint is no wider than reasonably necessary for the legitimate interest. Customer restraints often focus on the customers the worker dealt with or influenced. Confidential-information restraints often focus on the life of the information. A wider non-compete may be harder to justify because it stops work for a competitor even where a narrower non-solicit, non-dealing covenant, or confidentiality clause could protect the same interest.
|
|
66
|
+
|
|
67
|
+
Because the analysis is made when the contract is entered, a clause should be reasonable on the facts known then. Later events can matter to remedies, but they do not make an overbroad covenant reasonable retroactively [^olson-tested-at-contract-reasonableness].
|
|
68
|
+
|
|
69
|
+
> [!NOTE]
|
|
70
|
+
> **Practice note.**
|
|
71
|
+
>
|
|
72
|
+
> Do not treat a common period, industry template, or national form as a substitute for evidence. The enforceability question is whether this employer needed this restraint against this worker at the time of contracting [^bendtech-reasonableness-test].
|
|
73
|
+
|
|
74
|
+
## Can a court narrow an overbroad clause? {#court-narrowing}
|
|
75
|
+
|
|
76
|
+
**Short answer.** Generally, only by blue-pencil severance. Outside NSW's statutory read-down regime, a court may delete severable words if the remaining covenant still works, but it will not read an unduly wide clause down, add words, or rewrite the bargain to preserve validity [^just-no-readdown] [^just-rewrite].
|
|
77
|
+
|
|
78
|
+
The general common-law position is strict. Severance is deletion, not reconstruction. If the unreasonable part cannot be removed without changing the substance of the bargain, the restraint fails rather than being converted into the clause the employer wishes it had drafted [^just-no-new-agreement].
|
|
79
|
+
|
|
80
|
+
"However, it is not permissible for a court to read down an unduly wide clause in order to preserve its validity."[^just-no-readdown]
|
|
81
|
+
|
|
82
|
+
NSW is the major exception and is dealt with separately below. Elsewhere, draft every operative rung so it can stand on its own. A court applying the common law is enforcing a contract, not designing a better restraint after the fact.
|
|
83
|
+
|
|
84
|
+
> [!CAUTION]
|
|
85
|
+
> **Drafting note.**
|
|
86
|
+
>
|
|
87
|
+
> Draft the narrow clause you can defend. A severance clause and a long list of fallback positions do not let a court rewrite a restraint into a reasonable one [^just-no-new-agreement].
|
|
88
|
+
|
|
89
|
+
## Does any State let a court read a restraint down? {#nsw-read-down}
|
|
90
|
+
|
|
91
|
+
**Short answer.** Yes. NSW is the important exception. Section 4 of the Restraints of Trade Act 1976 (NSW) makes a restraint valid to the extent it is not against public policy, whether or not it is expressed in severable terms [^rota-s4-1]. That lets a NSW court enforce a restraint to a reasonable extent and ignore the excess [^olson-s4-ignore-excess].
|
|
92
|
+
|
|
93
|
+
The NSW power is stronger than the common-law blue-pencil rule, but it is still not a licence to remake the contract. A NSW court may enforce a narrower restraint that falls within the contractual words. It may not rewrite the covenant or reconstruct the bargain [^olson-no-remake] [^olson-amputation].
|
|
94
|
+
|
|
95
|
+
"a restraint validated by the section must fall wholly within the scope of the contractual provision. Amputation is directed but reconstruction is not."[^olson-amputation]
|
|
96
|
+
|
|
97
|
+
That distinction is the national fault line. In NSW, an overbroad restraint may still be enforceable to a reasonable extent. In the rest of Australia, absent an equivalent statute, the common-law position is deletion of severable words only. Section 4(3) also gives NSW a safety valve where the restraint reflects a manifest failure to attempt a reasonable restraint [^rota-s4-3].
|
|
98
|
+
|
|
99
|
+
> [!NOTE]
|
|
100
|
+
> **Practice note.**
|
|
101
|
+
>
|
|
102
|
+
> Do not assume a NSW-style read-down outside NSW. If the governing law is Victoria, Queensland, Western Australia, South Australia, Tasmania, the ACT, or the Northern Territory, start from the common-law severance position unless local authority points otherwise [^rota-s4-1].
|
|
103
|
+
|
|
104
|
+
## How do cascading clauses work? {#cascading-clauses}
|
|
105
|
+
|
|
106
|
+
**Short answer.** Cascading or ladder clauses list multiple restraints, usually by stepping down period, area, activity, or customer group, so that each narrower rung can stand if a wider rung fails. They can work where each rung is a separate and severable covenant [^hanna-nine-restraints]. They can also fail where an overbroad definition is embedded in every rung and cannot be severed [^emeco-client-definition].
|
|
107
|
+
|
|
108
|
+
The point of a cascade is to give the court independent covenants, not a single overbroad covenant dressed in alternatives. In *Hanna v OAMPS Insurance Brokers Ltd*, the NSW Court of Appeal held that no selection mechanism or hierarchy was needed where each restraint operated as an independent covenant [^hanna-no-mechanism]. The court also explained why the device exists: parties draft multiple severable restraints because the common law can delete severable words but cannot freely read a clause down [^hanna-why-cascading].
|
|
109
|
+
|
|
110
|
+
"Neither their operation nor any principle of law concerned with certainty of contract requires a mechanism or hierarchy of order of operation."[^hanna-no-mechanism]
|
|
111
|
+
|
|
112
|
+
The trap is a shared definition that contaminates every rung. In *Emeco International Pty Ltd v O'Shea [No 2]*, the court would not internally sever an overbroad definition of client, because doing so would rewrite each restraint using that definition [^emeco-rewrite-restraints]. The ACT Supreme Court applied the same logic in *Steadfast ICT Security Pty Ltd v Peak*, where the embedded definition meant no severance question could arise [^steadfast-no-read-down].
|
|
113
|
+
|
|
114
|
+
> [!CAUTION]
|
|
115
|
+
> **Drafting note.**
|
|
116
|
+
>
|
|
117
|
+
> A cascade should be built from genuinely independent restraints and definitions that are themselves narrow enough to defend. If the same overbroad defined term sits inside every rung, a court may be unable to remove the defect without rewriting the clause [^emeco-client-definition].
|
|
118
|
+
|
|
119
|
+
## Which State or Territory's law applies? {#which-jurisdiction}
|
|
120
|
+
|
|
121
|
+
**Short answer.** Start with the contract's governing-law clause and the forum where enforcement is sought. The national common-law doctrine is shared, but enforceability turns on the governing State or Territory because NSW has a statutory read-down power and the other jurisdictions generally apply common-law severance only [^rota-s4-1-jurisdiction] [^just-no-readdown-jurisdiction].
|
|
122
|
+
|
|
123
|
+
Use this national page for the common structure, then go to the local note for the governing jurisdiction:
|
|
124
|
+
|
|
125
|
+
-
|
|
126
|
+
-
|
|
127
|
+
-
|
|
128
|
+
-
|
|
129
|
+
-
|
|
130
|
+
-
|
|
131
|
+
-
|
|
132
|
+
-
|
|
133
|
+
|
|
134
|
+
For cross-border context, see the [worldwide comparison](/practice-guides/non-compete/international#country-au).
|
|
135
|
+
|
|
136
|
+
> [!NOTE]
|
|
137
|
+
> **Practice note.**
|
|
138
|
+
>
|
|
139
|
+
> Choice of law can be outcome-determinative. A clause that might be enforceable to a reasonable extent in NSW may fail outright elsewhere if the defect cannot be removed by ordinary severance [^just-no-readdown-jurisdiction].
|
|
140
|
+
|
|
141
|
+
## Is a federal ban on non-competes coming to Australia? {#federal-reform}
|
|
142
|
+
|
|
143
|
+
**Short answer.** A ban has been proposed but is not yet law. As of June 2026, no Commonwealth statute bans employee non-competes, so the common-law restraint-of-trade framework still governs nationally, with NSW's Restraints of Trade Act operating where NSW law applies [^lindner-prima-facie-void-reform] [^rota-s4-1-reform].
|
|
144
|
+
|
|
145
|
+
According to Treasury material and law-firm commentary, the Australian Government announced in the 2025-26 Federal Budget an intention to ban post-employment non-competes for workers earning under the Fair Work Act high-income threshold, reported at around AUD $183,100. Treasury ran consultation in July 2025, legislation was expected during 2026, and commencement was described as from 2027 on a prospective basis. The proposal was also reported to exclude sale-of-business restraints and restraints on above-threshold workers.
|
|
146
|
+
|
|
147
|
+
Those details are proposals, not enacted law. They come from Treasury material and secondary commentary rather than an operative Commonwealth non-compete statute. The threshold, coverage, exclusions, transitional provisions, and commencement could change before legislation passes.
|
|
148
|
+
|
|
149
|
+
> [!NOTE]
|
|
150
|
+
> **Practice note.**
|
|
151
|
+
>
|
|
152
|
+
> Do not draft to a federal ban that does not yet exist. As of June 2026, enforceability still turns on the common-law reasonableness test and, where NSW law applies, the Restraints of Trade Act 1976 (NSW). Re-check the enacted text before changing practice [^rota-s4-1-reform].
|
|
153
|
+
|
|
154
|
+
[^about]: By Steven Obiajulu, J.D. Published by [openagreements.org](https://openagreements.org). Last reviewed 2026-06-16. License: CC BY 4.0. Steven Obiajulu, J.D. is not admitted to practise law in Australia. This article summarizes publicly available Australia legal sources for general information only — it is not legal advice and does not create a lawyer–client relationship. It may not reflect the most recent legal developments and is provided without warranty as to accuracy or completeness; verify against the primary sources cited and consult a locally qualified lawyer before relying on it.
|
|
155
|
+
|
|
156
|
+
[^lindner-prima-facie-void]: **Lindner v Murdock's Garage** — "Any contractual restraint of trade is prima facie unlawful and invalid." *Lindner v Murdock's Garage [1950] HCA 48; (1950) 83 CLR 628 (per Kitto J).* <https://www.hcourt.gov.au/sites/default/files/eresources/1950/HCA/48.pdf>
|
|
157
|
+
|
|
158
|
+
[^olson-justifiable-reasonable]: **Woolworths Ltd v Olson** — "A restraint of trade is justifiable only if the restriction is reasonable in reference to the interests of the parties and of the public" *Woolworths Ltd v Olson [2004] NSWCA 372.* <https://www.caselaw.nsw.gov.au/decision/549fb2db3004262463b8633d>
|
|
159
|
+
|
|
160
|
+
[^olson-tested-at-contract]: **Woolworths Ltd v Olson** — "The validity of the restraint is to be tested at the time of entering into the contract" *Woolworths Ltd v Olson [2004] NSWCA 372.* <https://www.caselaw.nsw.gov.au/decision/549fb2db3004262463b8633d>
|
|
161
|
+
|
|
162
|
+
[^just-presumed-void]: **Just Group Ltd v Peck** — "A term in a contract, which is a restraint of trade ('a restraint clause'), is presumed to be void as contrary to public policy." *Just Group Ltd v Peck [2016] VSCA 334 (the Court).* <https://www.austlii.edu.au/cgi-bin/viewdoc/au/cases/vic/VSCA/2016/334.html>
|
|
163
|
+
|
|
164
|
+
[^olson-stricter-employment]: **Woolworths Ltd v Olson** — "The courts in general take a stricter and less favourable view of covenants in restraint of trade entered into between employer and employee than of similar covenants in commercial agreements" *Woolworths Ltd v Olson [2004] NSWCA 372.* <https://www.caselaw.nsw.gov.au/decision/549fb2db3004262463b8633d>
|
|
165
|
+
|
|
166
|
+
[^lindner-not-competition-per-se]: **Lindner v Murdock's Garage** — "An employer must be prepared to face the competition of a former employee if it comes." *Lindner v Murdock's Garage [1950] HCA 48; (1950) 83 CLR 628 (per McTiernan J).* <https://www.hcourt.gov.au/sites/default/files/eresources/1950/HCA/48.pdf>
|
|
167
|
+
|
|
168
|
+
[^lindner-trade-connection]: **Lindner v Murdock's Garage** — "The knowledge which, because its use may deprive the employer of the business connection which he is entitled to preserve as his own, he may require his employee to abstain from using, is objective knowledge of customers, their peculiarities, their credit and so forth" *Lindner v Murdock's Garage [1950] HCA 48; (1950) 83 CLR 628 (per Kitto J).* <https://www.hcourt.gov.au/sites/default/files/eresources/1950/HCA/48.pdf>
|
|
169
|
+
|
|
170
|
+
[^bendtech-reasonableness-test]: **Bend-Tech Group (A Firm) v Beek** — "A restraint will be reasonable in relation to the restraining party if it is necessary for the adequate protection of that party and reasonable in relation to the party restrained if it preserves the fullest liberty of action consistent with that protection." *Bend-Tech Group (A Firm) v Beek [2015] WASC 491 (Pritchard J).* <https://www.austlii.edu.au/cgi-bin/viewdoc/au/cases/wa/WASC/2015/491.html>
|
|
171
|
+
|
|
172
|
+
[^olson-tested-at-contract-reasonableness]: **Woolworths Ltd v Olson** — "The validity of the restraint is to be tested at the time of entering into the contract" *Woolworths Ltd v Olson [2004] NSWCA 372.* <https://www.caselaw.nsw.gov.au/decision/549fb2db3004262463b8633d>
|
|
173
|
+
|
|
174
|
+
[^just-no-readdown]: **Just Group Ltd v Peck** — "However, it is not permissible for a court to read down an unduly wide clause in order to preserve its validity." *Just Group Ltd v Peck [2016] VSCA 334 (the Court).* <https://www.austlii.edu.au/cgi-bin/viewdoc/au/cases/vic/VSCA/2016/334.html>
|
|
175
|
+
|
|
176
|
+
[^just-rewrite]: **Just Group Ltd v Peck** — "to read down the first limb, in the manner suggested, would be to, impermissibly, rewrite the restraint clause in order to preserve its validity" *Just Group Ltd v Peck [2016] VSCA 334 (the Court).* <https://www.austlii.edu.au/cgi-bin/viewdoc/au/cases/vic/VSCA/2016/334.html>
|
|
177
|
+
|
|
178
|
+
[^just-no-new-agreement]: **Just Group Ltd v Peck** — "It is not for the Court to make a new agreement for the parties." *Just Group Ltd v Peck [2016] VSCA 334 (the Court).* <https://www.austlii.edu.au/cgi-bin/viewdoc/au/cases/vic/VSCA/2016/334.html>
|
|
179
|
+
|
|
180
|
+
[^rota-s4-1]: **Restraints of Trade Act 1976 (NSW) s 4(1)** — "A restraint of trade is valid to the extent to which it is not against public policy, whether it is in severable terms or not." *Restraints of Trade Act 1976 (NSW) s 4(1).* <https://legislation.nsw.gov.au/view/whole/html/inforce/current/act-1976-067>
|
|
181
|
+
|
|
182
|
+
[^olson-s4-ignore-excess]: **Woolworths Ltd v Olson** — "Section 4(1) allows the court to ignore the fact that the restraint goes beyond what is reasonable, provided the restraint can be enforced to an extent that is reasonable." *Woolworths Ltd v Olson [2004] NSWCA 372.* <https://www.caselaw.nsw.gov.au/decision/549fb2db3004262463b8633d>
|
|
183
|
+
|
|
184
|
+
[^olson-no-remake]: **Woolworths Ltd v Olson** — "The court may not rewrite the covenant while exercising the power under s4(1)." *Woolworths Ltd v Olson [2004] NSWCA 372.* <https://www.caselaw.nsw.gov.au/decision/549fb2db3004262463b8633d>
|
|
185
|
+
|
|
186
|
+
[^olson-amputation]: **Woolworths Ltd v Olson** — "a restraint validated by the section must fall wholly within the scope of the contractual provision. Amputation is directed but reconstruction is not." *Woolworths Ltd v Olson [2004] NSWCA 372, quoting ICT Pty Ltd v Sea Containers Ltd (1995) 39 NSWLR 640.* <https://www.caselaw.nsw.gov.au/decision/549fb2db3004262463b8633d>
|
|
187
|
+
|
|
188
|
+
[^rota-s4-3]: **Restraints of Trade Act 1976 (NSW) s 4(3)** — "a manifest failure by a person who created or joined in creating the restraint to attempt to make the restraint a reasonable restraint" *Restraints of Trade Act 1976 (NSW) s 4(3).* <https://legislation.nsw.gov.au/view/whole/html/inforce/current/act-1976-067>
|
|
189
|
+
|
|
190
|
+
[^hanna-nine-restraints]: **Hanna v OAMPS Insurance Brokers Ltd** — "Thus there were nine restraints, from the widest (15 months in Australia) to the narrowest (12 months, in Mr Hanna's case, in the metropolitan area of Sydney)." *Hanna v OAMPS Insurance Brokers Ltd [2010] NSWCA 267.* <https://www.caselaw.nsw.gov.au/decision/549ff3313004262463c5979a>
|
|
191
|
+
|
|
192
|
+
[^emeco-client-definition]: **Emeco International Pty Ltd v O'Shea [No 2]** — "The definition of 'Client' cannot be internally severed in this case." *Emeco International Pty Ltd v O'Shea [No 2] [2012] WASC 348 (Edelman J).* <https://www.austlii.edu.au/cgi-bin/viewdoc/au/cases/wa/WASC/2012/348.html>
|
|
193
|
+
|
|
194
|
+
[^hanna-no-mechanism]: **Hanna v OAMPS Insurance Brokers Ltd** — "Neither their operation nor any principle of law concerned with certainty of contract requires a mechanism or hierarchy of order of operation." *Hanna v OAMPS Insurance Brokers Ltd [2010] NSWCA 267.* <https://www.caselaw.nsw.gov.au/decision/549ff3313004262463c5979a>
|
|
195
|
+
|
|
196
|
+
[^hanna-why-cascading]: **Hanna v OAMPS Insurance Brokers Ltd** — "Given the common law rules and, in particular, those concerning severance and the so-called ‘blue-pencil’ test, it is understandable why commercial parties seek to employ multiple severable clauses." *Hanna v OAMPS Insurance Brokers Ltd [2010] NSWCA 267.* <https://www.caselaw.nsw.gov.au/decision/549ff3313004262463c5979a>
|
|
197
|
+
|
|
198
|
+
[^emeco-rewrite-restraints]: **Emeco International Pty Ltd v O'Shea [No 2]** — "To 'blue pencil' part of the definition of Client would be to rewrite each of those restraints." *Emeco International Pty Ltd v O'Shea [No 2] [2012] WASC 348 (Edelman J).* <https://www.austlii.edu.au/cgi-bin/viewdoc/au/cases/wa/WASC/2012/348.html>
|
|
199
|
+
|
|
200
|
+
[^steadfast-no-read-down]: **Steadfast ICT Security Pty Ltd v Peak** — "No question of severance can arise in those circumstances because it is not possible to read down or sever the clauses which have embedded within them that definition: Emeco International Pty Ltd v O'Shea [No 2] [2012] WASC 348 ; 225 IR 423." *Steadfast ICT Security Pty Ltd v Peak [2021] ACTSC 199 (Mossop J), citing Emeco International Pty Ltd v O'Shea [No 2] [2012] WASC 348; 225 IR 423.* <https://www.austlii.edu.au/cgi-bin/viewdoc/au/cases/act/ACTSC/2021/199.html>
|
|
201
|
+
|
|
202
|
+
[^rota-s4-1-jurisdiction]: **Restraints of Trade Act 1976 (NSW) s 4(1)** — "A restraint of trade is valid to the extent to which it is not against public policy, whether it is in severable terms or not." *Restraints of Trade Act 1976 (NSW) s 4(1).* <https://legislation.nsw.gov.au/view/whole/html/inforce/current/act-1976-067>
|
|
203
|
+
|
|
204
|
+
[^just-no-readdown-jurisdiction]: **Just Group Ltd v Peck** — "However, it is not permissible for a court to read down an unduly wide clause in order to preserve its validity." *Just Group Ltd v Peck [2016] VSCA 334 (the Court).* <https://www.austlii.edu.au/cgi-bin/viewdoc/au/cases/vic/VSCA/2016/334.html>
|
|
205
|
+
|
|
206
|
+
[^lindner-prima-facie-void-reform]: **Lindner v Murdock's Garage** — "Any contractual restraint of trade is prima facie unlawful and invalid." *Lindner v Murdock's Garage [1950] HCA 48; (1950) 83 CLR 628 (per Kitto J).* <https://www.hcourt.gov.au/sites/default/files/eresources/1950/HCA/48.pdf>
|
|
207
|
+
|
|
208
|
+
[^rota-s4-1-reform]: **Restraints of Trade Act 1976 (NSW) s 4(1)** — "A restraint of trade is valid to the extent to which it is not against public policy, whether it is in severable terms or not." *Restraints of Trade Act 1976 (NSW) s 4(1).* <https://legislation.nsw.gov.au/view/whole/html/inforce/current/act-1976-067>
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
---
|
|
2
|
+
jurisdiction: "Australian Capital Territory, Australia"
|
|
3
|
+
slug: australian-capital-territory
|
|
4
|
+
countryCode: AU
|
|
5
|
+
snapshotAsOf: "2026-06-19"
|
|
6
|
+
lastReviewed: "2026-06-10"
|
|
7
|
+
canonicalUrl: https://openagreements.org/practice-guides/non-compete/au/australian-capital-territory
|
|
8
|
+
license: CC BY 4.0
|
|
9
|
+
stale: false
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
> [!IMPORTANT]
|
|
13
|
+
> **Informational only — not legal advice.** This is a snapshot of an OpenAgreements practice note,
|
|
14
|
+
> provided for general information. It is not legal advice, does not create an attorney-client
|
|
15
|
+
> relationship, and is not a substitute for a licensed attorney in the relevant jurisdiction.
|
|
16
|
+
> Laws change; verify against the canonical version before relying on it.
|
|
17
|
+
>
|
|
18
|
+
> **Canonical:** https://openagreements.org/practice-guides/non-compete/au/australian-capital-territory · **Snapshot as of:** 2026-06-19 · License: CC BY 4.0 · © openagreements.org
|
|
19
|
+
|
|
20
|
+
# Non-Compete Enforceability in the Australian Capital Territory[^about]
|
|
21
|
+
|
|
22
|
+
In the Australian Capital Territory a post-employment non-compete is enforceable only so far as it is reasonable to protect a legitimate business interest; the Territory has no statutory read-down power, so a court cannot rewrite an overbroad clause — in the Territory's leading case a 24-month restraint on a general manager was upheld while a parallel restraint failed entirely because an overbroad defined term could not be severed or read down.
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
## At a glance
|
|
26
|
+
|
|
27
|
+
| Question | Australian Capital Territory, Australia |
|
|
28
|
+
| --- | --- |
|
|
29
|
+
| **Are non-competes enforceable?** | Allowed if reasonable |
|
|
30
|
+
| **Bottom line** | An Australian Capital Territory non-compete binds a former employee only so far as it is reasonable to protect a legitimate business interest; there is no statutory read-down power, so an overbroad clause cannot be rewritten — in the Territory's leading case a 24-month restraint on a general manager was upheld, while a parallel restraint failed entirely because an overbroad defined term was embedded in the operative clauses and could not be severed or read down. |
|
|
31
|
+
| **Main law or case** | Common-law restraint of trade (no equivalent of the NSW Restraints of Trade Act 1976) |
|
|
32
|
+
| **Main exceptions** | Sale-of-business covenants are judged more leniently; a proposed federal ban would, if enacted, cover most employees earning under the Fair Work Act high-income threshold (with sale-of-business and above-threshold restraints reported to be excluded), but it is not yet law. |
|
|
33
|
+
| **Can a court narrow it?** | Only strikes wording |
|
|
34
|
+
| **Applies to contractors?** | Yes |
|
|
35
|
+
| **Restriction extended during a breach?** | Untested; in the Territory's leading case the restraint period had expired by trial, the injunction claim was not pressed, and the court awarded monetary relief rather than extending the restraint. |
|
|
36
|
+
| **Maximum length set by law** | No statutory cap; reasonableness turns on the combined effect of duration and area, and a 24-month restraint on a general manager — the longest rung of a cascading clause — was upheld in Steadfast ICT Security v Peak. |
|
|
37
|
+
|
|
38
|
+
## Are employee non-competes enforceable in the Australian Capital Territory? {#enforceability}
|
|
39
|
+
|
|
40
|
+
**Short answer.** Only so far as they are reasonable. A post-employment non-compete is treated as a restraint of trade, which is presumed unenforceable as contrary to public policy unless the employer shows it goes no further than is reasonably necessary to protect a legitimate business interest, and the onus of proving reasonableness sits on the employer [^lindner-onus]. The Territory's leading modern decision shows both sides of the test in a single case: a 24-month restraint on a general manager was held reasonable and its breach established [^steadfast-24-month-upheld], while a parallel restraint on a more junior employee failed entirely because its breadth made it unreasonable [^steadfast-unreasonable-invalid].
|
|
41
|
+
|
|
42
|
+
The Australian Capital Territory is not a per se ban jurisdiction, and it has no statute that sets numeric limits on duration or area or that empowers a court to read a restraint down. It is a reasonableness jurisdiction built entirely on the common-law restraint-of-trade doctrine. Restraint authority from the Territory's own courts is thin: the analysis in this note rests principally on one comprehensive Supreme Court trial judgment — *Steadfast ICT Security Pty Ltd v Peak* [2021] ACTSC 199 (Mossop J) — read together with the High Court authorities that bind all Australian courts. That thinness is worth being honest about, but *Steadfast* is unusually rich: a 452-paragraph judgment that works through validity, cascading periods, severance, confidential information, fiduciary duty, and remedies in one place.
|
|
43
|
+
|
|
44
|
+
"The onus was on the plaintiff firm to prove circumstances showing that the restriction on the defendant's freedom to work was reasonable."[^lindner-onus]
|
|
45
|
+
|
|
46
|
+
In *Steadfast*, the company's general manager orchestrated the transfer of its IT-security business to a competitor and then worked for former clients within the restraint period. Mossop J found the restraint enforceable against him and the breach made out, including by solicitation of named clients [^steadfast-breach-established]. Against a second employee, the same litigation produced the opposite result: the operative clauses were driven by an overbroad defined term and were held invalid [^steadfast-unreasonable-invalid]. The sections that follow work through whether a court can narrow an overbroad clause, how cascading clauses fared, what counts as a legitimate interest, how reasonableness of scope is judged, and the open question of whether a breach can extend the restraint.
|
|
47
|
+
|
|
48
|
+
## Can an Australian Capital Territory court narrow an overbroad non-compete? {#court-narrowing}
|
|
49
|
+
|
|
50
|
+
**Short answer.** Only in a limited way, and far less generously than many employers assume. The Territory has no statute that lets a court read an overbroad restraint down to a reasonable level, so the common-law severance limits apply: deletion of genuinely severable material is the most a court can do, and where the unreasonable breadth comes from a defined term embedded in the operative clauses, no question of severance can arise at all, because it is not possible to read down or sever the clauses which carry the definition [^steadfast-no-read-down]. A clause that severance cannot save fails entirely [^steadfast-embedded-invalid].
|
|
51
|
+
|
|
52
|
+
This is the single most important practical point about restraint drafting in the Territory, and *Steadfast* states it in terms. The restraint relied on against the second employee operated on a defined term, *Client*, that swept in any past or present client or customer of the company or its group. Because the definition had no time limit, it captured entities the employee had never dealt with and that had ceased to be clients long before he arrived [^steadfast-client-not-confined]. The breadth was not a separable phrase a court could strike out; it was the engine of the operative clauses themselves.
|
|
53
|
+
|
|
54
|
+
"No question of severance can arise in those circumstances because it is not possible to read down or sever the clauses which have embedded within them that definition: Emeco International Pty Ltd v O'Shea [No 2] [2012] WASC 348 ; 225 IR 423."[^steadfast-no-read-down]
|
|
55
|
+
|
|
56
|
+
The consequence was total failure of those clauses, not narrowing: each was, as a result of the breadth of the definition, not a reasonable restraint, and therefore invalid [^steadfast-embedded-invalid]. Mossop J did not decide what a reasonable version would have looked like and then trim the words to fit — that exercise is simply not available. An overbroad covenant whose breadth cannot be cleanly excised is at real risk of failing in its entirety rather than being narrowed by the court.
|
|
57
|
+
|
|
58
|
+
> [!CAUTION]
|
|
59
|
+
> **Drafting note.**
|
|
60
|
+
>
|
|
61
|
+
> Because an Australian Capital Territory court will not read an overbroad restraint down to a reasonable level, draft scope, area, and duration to the minimum the legitimate interest actually requires. Above all, do not bury the breadth in a defined term that runs through every operative clause: where the unreasonable element sits inside an embedded definition, the clauses cannot be read down or severed and the restraint fails entirely [^steadfast-no-read-down]. Time-limit client definitions and tie them to the employee's own dealings [^steadfast-client-not-confined].
|
|
62
|
+
|
|
63
|
+
## Are cascading or ladder restraint clauses valid in the Australian Capital Territory? {#cascading-clauses}
|
|
64
|
+
|
|
65
|
+
**Short answer.** Yes — a cascading clause was squarely litigated in the Territory's leading case and its longest rung was enforced. The general manager's restraint in *Steadfast* ran for 24 months, or if that was unreasonable 18 months, or if that was unreasonable 12 months, or if that was unreasonable 6 months. The defendants attacked the two-year top rung as unreasonable [^steadfast-cascade-attack], but Mossop J held the 24-month period reasonable, so the court never needed to descend the ladder [^steadfast-cascade-top-rung].
|
|
66
|
+
|
|
67
|
+
The cascade matters in the Territory for the same reason the embedded-definition trap matters: a court cannot rewrite an overbroad restraint, so the drafter must do the narrowing in advance by offering the court a menu of progressively shorter periods, each falling to be considered only if the longer one is unreasonable. In *Steadfast* the defendants submitted that the employer could not insist on any restraint longer than six months and that the two-year rung — the longest of the cascading restraints — was unreasonable and unenforceable [^steadfast-cascade-attack]. Those were submissions, not holdings, and they failed.
|
|
68
|
+
|
|
69
|
+
"Although the duration may appear to be long, it is qualified by the location and the nature of the connection with the client during the employment."[^steadfast-duration-qualified]
|
|
70
|
+
|
|
71
|
+
Mossop J's own conclusion was that the 24-month period was reasonable having regard to the limited restraint area and the restraint's limitation to clients with whom the employee had direct dealings in the final 12 months of his employment [^steadfast-cascade-top-rung] — the length of the longest rung was tolerable precisely because the other dimensions of the clause were tightly drawn [^steadfast-duration-qualified]. The contrast with the failed restraint in the same case is the drafting lesson: a cascade of periods cannot rescue a clause whose unreasonable breadth sits inside an embedded definition, because that defect infects every rung and cannot be severed or read down [^steadfast-no-severance-cascade].
|
|
72
|
+
|
|
73
|
+
> [!CAUTION]
|
|
74
|
+
> **Drafting note.**
|
|
75
|
+
>
|
|
76
|
+
> A cascading clause is worth drafting in the Australian Capital Territory — the longest rung of a 24/18/12/6-month ladder was upheld in the Territory's leading case, with the duration justified by a narrow area and a tightly defined client pool [^steadfast-cascade-top-rung]. But cascade the periods, not the defect: if the unreasonable element is a broad defined term running through every rung, no rung survives, because the clauses carrying the definition cannot be read down or severed [^steadfast-no-severance-cascade].
|
|
77
|
+
|
|
78
|
+
## What legitimate interest must an employer show to enforce an Australian Capital Territory non-compete? {#legitimate-interest}
|
|
79
|
+
|
|
80
|
+
**Short answer.** A protectable business interest — not a mere wish to avoid competition. An employer cannot restrain a former employee simply because a rival might benefit; an employer must be prepared to face the competition of a former employee if it comes [^lindner-face-competition]. The recognised interests are the employer's client connection and goodwill and its confidential information, and both did real work in the Territory's leading case: the restraint upheld there was anchored to clients with whom the employee had direct dealings in his final year [^steadfast-direct-dealings], and the employee's misuse of confidential information was separately established [^steadfast-confidential-breach].
|
|
81
|
+
|
|
82
|
+
The dividing line is between protecting an asset and suppressing a rival. A covenant aimed at competition by itself, rather than at a recognised interest, is invalid [^lindner-face-competition]. What made the upheld restraint in *Steadfast* defensible was precisely its anchoring to the client connection the employer had built: the clause reached only clients with whom the departing general manager had personally dealt in the 12 months before termination, which is the connection a restraint of this kind legitimately protects [^steadfast-direct-dealings].
|
|
83
|
+
|
|
84
|
+
"An employer must be prepared to face the competition of a former employee if it comes."[^lindner-face-competition]
|
|
85
|
+
|
|
86
|
+
Confidential information is a protectable interest in its own right, and *Steadfast* shows that it is also protected through other doctrines that operate alongside the restraint. Mossop J found the general manager in breach of his contractual confidentiality obligations for taking and deploying the company's information in the competitor's business [^steadfast-confidential-breach], and held his overall course of conduct to be a very clear breach of the fiduciary duties he owed his employer [^steadfast-fiduciary]. The practical point for drafters is that the interest has to be identified and real: an employer who cannot point to a genuine client connection, goodwill, or confidential-information interest cannot enforce the clause whatever its scope.
|
|
87
|
+
|
|
88
|
+
> [!CAUTION]
|
|
89
|
+
> **Drafting note.**
|
|
90
|
+
>
|
|
91
|
+
> A clause that simply bars a former employee from joining or starting a competing business, without tying the restraint to a specific protectable interest, is the weakest position, because an employer is not entitled to protection against competition as such [^lindner-face-competition]. Anchor the restraint to the actual interest — in the Territory's leading case that meant clients the employee had personally dealt with in a defined recent window [^steadfast-direct-dealings] — and remember that confidentiality and fiduciary obligations protect information independently of the restraint [^steadfast-fiduciary].
|
|
92
|
+
|
|
93
|
+
## How long and how wide can an Australian Capital Territory non-compete be? {#reasonableness-factors}
|
|
94
|
+
|
|
95
|
+
**Short answer.** There is no statutory limit; reasonableness is judged case by case on the combined effect of the restraint's duration and its area of operation [^steadfast-combined-effect], assessed as at the time the contract is made rather than with hindsight [^steadfast-tested-at-contract]. A two-year restraint on a general manager was upheld where the area was limited and the client pool tightly defined [^steadfast-two-year-upheld]; an area wider than the employer's business reasonably requires is likely to be void [^lindner-area-too-wide].
|
|
96
|
+
|
|
97
|
+
Because the limits are judge-made, the dimensions are weighed together rather than against fixed ceilings: a longer duration can be carried by a narrow area and client definition, and vice versa [^steadfast-combined-effect]. The assessment is forward-looking from the date of contract — the validity of a restraint is to be assessed at the time at which the contract is made, with some allowance for how the employee's role and the business might develop [^steadfast-tested-at-contract]. And the fit between clause and interest does not have to be exact.
|
|
98
|
+
|
|
99
|
+
"Reasonableness does not require precise concordance between the restraint and what might ultimately be seen as the employer's legitimate interest; it is accepted that a reasonable covenant might on the one hand not totally protect the employer in one respect, and on the other go somewhat further than is necessary for legitimate protection, without ceasing to be reasonable [ Coote v Sproule , 580-581]."[^steadfast-precise-concordance]
|
|
100
|
+
|
|
101
|
+
The analysis cuts both ways. In *Lindner v Murdock's Garage* the High Court held an area covenant void because the territory it covered was wider than the employer's business reasonably required [^lindner-area-too-wide]. In *Steadfast*, by contrast, the 24-month restraint survived because its area was limited and its reach confined to recently and personally serviced clients [^steadfast-two-year-upheld]. The employee's seniority and remuneration also bear on how much restraint is tolerable: Mossop J treated the amount the general manager was being paid as a factual issue relevant to the reasonableness of the restraint's scope, since a higher salary may be more consistent with a broader restraint than a lower one [^steadfast-salary].
|
|
102
|
+
|
|
103
|
+
## Do paid restraints, garden leave, and fresh consideration help in the Australian Capital Territory? {#garden-leave}
|
|
104
|
+
|
|
105
|
+
**Short answer.** They can strengthen an employer's position, but they do not displace the reasonableness requirement, and no staged Territory authority decides a garden-leave clause as such. What the Territory's leading case does establish is that pay matters to scope: the amount the employee was being paid was treated as a factual issue relevant to the reasonableness of the restraint, because a higher salary may be more consistent with a broader restraint than a lower one [^steadfast-salary-gl].
|
|
106
|
+
|
|
107
|
+
*Steadfast* took the remuneration point seriously enough to look behind the contract. Part of the general manager's pay was routed through a purported contract with a relative, and Mossop J held that it would not be appropriate to assess the significant restraint period only against the salary stated in the written contract — the real, higher remuneration was the relevant figure [^steadfast-real-remuneration]. The logic runs in both directions: an employee who is genuinely well paid, or paid specifically for the restraint, gives the employer a stronger platform for a broader covenant, while a broad restraint on a modestly paid employee is harder to justify.
|
|
108
|
+
|
|
109
|
+
Garden leave — keeping the employee employed and paid through a notice period — was not in issue in the staged authorities, so its treatment in the Territory should be regarded as untested. The orthodox approach would be to assess it within the same reasonableness framework as any other restraint, with the continuing pay weighing in the employer's favour rather than guaranteeing enforcement. For mid-employment restraints — covenants introduced after the employee is already on foot — the practical anchor is that validity is assessed at the time the contract containing the restraint is made [^steadfast-tested-at-contract-gl], so a restraint added later is judged on the circumstances then and needs its own consideration.
|
|
110
|
+
|
|
111
|
+
## What if the employer wrongfully dismissed the employee? {#employer-breach}
|
|
112
|
+
|
|
113
|
+
**Short answer.** The restraint may fall away. The employer carries the onus of proving the restraint reasonable in the first place [^lindner-onus-eb], so an employer seeking to enforce already starts from a position where it must justify the covenant. Beyond that, the long-standing common-law principle associated with *General Billposting Co Ltd v Atkinson* [1909] AC 118 is that an employer who wrongfully dismisses an employee — for example by repudiating the contract through a dismissal without the notice the contract requires — generally cannot afterwards enforce a post-employment restraint against that employee. The staged Territory authorities do not themselves decide that point, so it is best treated as a general principle a court may apply rather than a settled local rule.
|
|
114
|
+
|
|
115
|
+
The reasonableness analysis assumes a clause the employer is entitled to rely on, and the employer bears the onus of establishing that reasonableness [^lindner-onus-eb]. Where the employer is the party in serious breach, a court may, applying the general common-law principle, treat the employee as released from the covenant; and in any event the equitable remedies an employer typically needs are discretionary and sensitive to the parties' conduct.
|
|
116
|
+
|
|
117
|
+
*Steadfast* offers the mirror-image lesson about conduct arguments. The defendants there argued that the employer's own decisions — winding back its operations and making the general manager redundant — undercut its reliance on the restraint and — separately, at the relief stage — reduced their liability. Mossop J rejected the attempt, because the employer's actions were themselves a response to the defendants' own wrongdoing: it was not open to the defendants to rely upon actions of the employer that were a response to their own breaches in order to reduce their liability [^steadfast-own-breach-response]. Causation of the breakdown matters on both sides of an enforcement fight.
|
|
118
|
+
|
|
119
|
+
> [!NOTE]
|
|
120
|
+
> **Practice note.**
|
|
121
|
+
>
|
|
122
|
+
> The employer already bears the onus of proving the restraint reasonable before any question of its own breach arises [^lindner-onus-eb]. On top of that, an employer that terminates abruptly — without giving contractual notice or paying in lieu — may risk losing the very non-compete it wants to rely on, because under the general common-law principle a repudiatory breach by the employer can release the employee from the restraint. That repudiation point is not settled by the Territory authorities discussed here, so treat it as a risk rather than a certainty: before suing to enforce a covenant, confirm that the termination itself complied with the contract [^steadfast-own-breach-response].
|
|
123
|
+
|
|
124
|
+
## Does an Australian Capital Territory non-compete pause or extend if the employee breaches? {#tolling}
|
|
125
|
+
|
|
126
|
+
**Short answer.** This is an open question, and an employer should not assume the clock stops. No staged Territory authority holds that a restraint period tolls — pauses and then resumes — while a former employee is in breach or while litigation runs. The validity of a restraint is assessed at the time the contract is made [^steadfast-tested-at-contract-tolling], which sits uneasily with a clause that purports to lengthen the restraint automatically depending on the employee's later conduct.
|
|
127
|
+
|
|
128
|
+
The Territory's leading case is itself the best illustration of what happens instead. By the time *Steadfast* reached trial the restraint period had run out, and the claim for an injunction was not pressed because the period during which it might have operated had elapsed [^steadfast-injunction-elapsed]. The court did not extend or revive the restraint to compensate; it turned to money. Mossop J held that an account of profits was the most appropriate remedy because it most accurately responded to the wrongdoer's course of conduct and its consequences for the employer [^steadfast-account-remedy] — and ordered the competing vehicle to disgorge over $1.18 million in profits. In *Steadfast* itself, a breach that outlasted the restraint was answered by monetary relief rather than a longer restraint — the pattern an employer in that position should expect.
|
|
129
|
+
|
|
130
|
+
> [!CAUTION]
|
|
131
|
+
> **Drafting note.**
|
|
132
|
+
>
|
|
133
|
+
> Do not rely on a clause that purports to extend the non-compete by the length of any breach. No staged Australian Capital Territory authority validates tolling of the restraint period, and because validity is assessed at the time the contract is made, an automatic extension risks being treated as unreasonable [^steadfast-tested-at-contract-tolling]. Treat the stated duration as the maximum, move quickly if an injunction is needed — in the Territory's leading case the period expired before trial and the injunction claim fell away [^steadfast-injunction-elapsed] — and look to damages or an account of profits for a breach that outlasts the clause [^steadfast-account-remedy].
|
|
134
|
+
|
|
135
|
+
## Do Australian Capital Territory restraint rules differ for contractors and business sales? {#contractors-and-sale}
|
|
136
|
+
|
|
137
|
+
**Short answer.** Yes, in different directions. Restraints on independent contractors are assessed under the same restraint-of-trade doctrine as employee covenants — the same legitimate-interest requirement and the same no-wider-than-necessary test — so the label of the relationship matters less than the substance of the interest the restraint actually protects. Restraints given by the seller of a business, by contrast, are judged much more leniently, because a buyer is entitled to protect the goodwill it paid for [^lindner-sale-distinction].
|
|
138
|
+
|
|
139
|
+
The sale-of-business leniency is long-standing and uncontroversial — it predates *Lindner v Murdock's Garage* and has never been in doubt, so the way the point is expressed in that case (in a judgment that dissented on the ultimate outcome) reflects settled doctrine rather than any minority view. A restraint in a sale agreement is more easily upheld than the same restraint in an employment contract [^lindner-sale-more-easily], because the policy concerns that make employment covenants suspect — unequal bargaining power and the risk of locking a person out of their livelihood — are weaker when a vendor sells a business for value and promises not to compete away the goodwill just sold.
|
|
140
|
+
|
|
141
|
+
For contractors, the key question is the same one that governs employees: is there a legitimate interest, and is the scope no wider than necessary to protect it. In a market like the Territory's, where consulting and contracting arrangements are common, the substance-over-label point matters in practice — a restraint on a contractor who carries the principal's client relationships or confidential information is analysed exactly as an employee covenant would be, and an overbroad one fails the same way.
|
|
142
|
+
|
|
143
|
+
## Is a federal ban on non-competes coming to Australia? {#federal-reform}
|
|
144
|
+
|
|
145
|
+
**Short answer.** A ban has been proposed but is not yet law, and as of June 2026 the common-law restraint-of-trade framework above still governs in the Australian Capital Territory [^steadfast-still-governs]. According to Australian Government Treasury material and law-firm commentary, the Government announced in the 2025–26 Federal Budget that it intends to ban post-employment non-competes for workers earning under the Fair Work Act high-income threshold (reported at around AUD $183,100), with Treasury running a consultation on the design, and the reform expected to be legislated during 2026 and to take effect from 2027, operating prospectively. Those figures and dates come from that secondary material — Treasury announcements and commentary — not from any enacted statute. Until any ban is enacted, the existing common-law framework continues to govern [^steadfast-still-governs].
|
|
146
|
+
|
|
147
|
+
The proposal, as described in current Treasury material and law-firm commentary rather than in any enacted statute, would cover most employees earning below the high-income threshold while excluding sale-of-business covenants and restraints on higher earners. Non-solicitation, no-poach, and wage-fixing arrangements are also reported to be under consideration. None of this is in force, and the precise scope, threshold, and commencement could change before any legislation passes; the threshold figure and the 2026/2027 timeline in particular are drawn from secondary reporting and should be re-checked against the enacted text when it appears.
|
|
148
|
+
|
|
149
|
+
Because this is a future legislative matter, employers should treat the timeline and detail as provisional rather than settled. A covenant entered into now is governed by existing law in the Territory; whether and how a future ban would affect existing or new agreements will depend on the enacted text and its transitional provisions.
|
|
150
|
+
|
|
151
|
+
> [!NOTE]
|
|
152
|
+
> **Practice note.**
|
|
153
|
+
>
|
|
154
|
+
> Do not draft to a federal ban that does not yet exist. As of June 2026 no Commonwealth statute bans employee non-competes, so enforceability in the Australian Capital Territory still turns on the common-law reasonableness test, assessed at the time the contract is made, with no statutory power to read an overbroad clause down [^steadfast-still-governs]. Track the proposal through to enacted legislation before changing practice, because its threshold, scope, and commencement remain proposals subject to change.
|
|
155
|
+
|
|
156
|
+
[^about]: By Steven Obiajulu, J.D. Published by [openagreements.org](https://openagreements.org). Last reviewed 2026-06-10. License: CC BY 4.0. Steven Obiajulu, J.D. is not admitted to practise law in Australian Capital Territory, Australia. This article summarizes publicly available Australian Capital Territory, Australia legal sources for general information only — it is not legal advice and does not create a lawyer–client relationship. It may not reflect the most recent legal developments and is provided without warranty as to accuracy or completeness; verify against the primary sources cited and consult a locally qualified lawyer before relying on it.
|
|
157
|
+
|
|
158
|
+
[^lindner-onus]: **Lindner v Murdock's Garage** — "The onus was on the plaintiff firm to prove circumstances showing that the restriction on the defendant's freedom to work was reasonable." *Lindner v Murdock's Garage [1950] HCA 48; (1950) 83 CLR 628 (per McTiernan J).* <https://www.hcourt.gov.au/sites/default/files/eresources/1950/HCA/48.pdf>
|
|
159
|
+
|
|
160
|
+
[^steadfast-24-month-upheld]: **Steadfast ICT Security Pty Ltd v Peak** — "In my view the 24-month restraint period is reasonable having regard to the limited restraint area, the role of Mr Peak in relation to clients to the extent to which it is disclosed by the evidence, and the limitation within the restraint to client or customers of the company with whom he has had direct dealings in the 12 months prior to the termination of his employment." *Steadfast ICT Security Pty Ltd v Peak [2021] ACTSC 199 (Mossop J).* <https://www.austlii.edu.au/cgi-bin/viewdoc/au/cases/act/ACTSC/2021/199.html>
|
|
161
|
+
|
|
162
|
+
[^steadfast-unreasonable-invalid]: **Steadfast ICT Security Pty Ltd v Peak** — "Each of those is, as a result of the breadth of the definition, not a reasonable restraint. It is therefore invalid." *Steadfast ICT Security Pty Ltd v Peak [2021] ACTSC 199 (Mossop J).* <https://www.austlii.edu.au/cgi-bin/viewdoc/au/cases/act/ACTSC/2021/199.html>
|
|
163
|
+
|
|
164
|
+
[^steadfast-breach-established]: **Steadfast ICT Security Pty Ltd v Peak** — "So far as the soliciting of Steadfast clients is concerned, that is established in relation to Geo Group, Strategic Data, AFSA and the University of Canberra." *Steadfast ICT Security Pty Ltd v Peak [2021] ACTSC 199 (Mossop J).* <https://www.austlii.edu.au/cgi-bin/viewdoc/au/cases/act/ACTSC/2021/199.html>
|
|
165
|
+
|
|
166
|
+
[^steadfast-no-read-down]: **Steadfast ICT Security Pty Ltd v Peak** — "No question of severance can arise in those circumstances because it is not possible to read down or sever the clauses which have embedded within them that definition: Emeco International Pty Ltd v O'Shea [No 2] [2012] WASC 348 ; 225 IR 423." *Steadfast ICT Security Pty Ltd v Peak [2021] ACTSC 199 (Mossop J), citing Emeco International Pty Ltd v O'Shea [No 2] [2012] WASC 348; 225 IR 423.* <https://www.austlii.edu.au/cgi-bin/viewdoc/au/cases/act/ACTSC/2021/199.html>
|
|
167
|
+
|
|
168
|
+
[^steadfast-embedded-invalid]: **Steadfast ICT Security Pty Ltd v Peak** — "Each of those is, as a result of the breadth of the definition, not a reasonable restraint. It is therefore invalid." *Steadfast ICT Security Pty Ltd v Peak [2021] ACTSC 199 (Mossop J).* <https://www.austlii.edu.au/cgi-bin/viewdoc/au/cases/act/ACTSC/2021/199.html>
|
|
169
|
+
|
|
170
|
+
[^steadfast-client-not-confined]: **Steadfast ICT Security Pty Ltd v Peak** — "Because the definition is not temporally confined, it would capture any entity which had been a client of Steadfast at any time whether or not Mr Watt was employed by the company at that time or had any contact with it." *Steadfast ICT Security Pty Ltd v Peak [2021] ACTSC 199 (Mossop J).* <https://www.austlii.edu.au/cgi-bin/viewdoc/au/cases/act/ACTSC/2021/199.html>
|
|
171
|
+
|
|
172
|
+
[^steadfast-cascade-attack]: **Steadfast ICT Security Pty Ltd v Peak** — "It also submitted that as Mr Peak had been employed for less than two years, the longest of the cascading restraints, namely for a period of two years, was unreasonable and unenforceable." *Steadfast ICT Security Pty Ltd v Peak [2021] ACTSC 199 (Mossop J, recording the defendants' submissions).* <https://www.austlii.edu.au/cgi-bin/viewdoc/au/cases/act/ACTSC/2021/199.html>
|
|
173
|
+
|
|
174
|
+
[^steadfast-cascade-top-rung]: **Steadfast ICT Security Pty Ltd v Peak** — "In my view the 24-month restraint period is reasonable having regard to the limited restraint area, the role of Mr Peak in relation to clients to the extent to which it is disclosed by the evidence, and the limitation within the restraint to client or customers of the company with whom he has had direct dealings in the 12 months prior to the termination of his employment." *Steadfast ICT Security Pty Ltd v Peak [2021] ACTSC 199 (Mossop J).* <https://www.austlii.edu.au/cgi-bin/viewdoc/au/cases/act/ACTSC/2021/199.html>
|
|
175
|
+
|
|
176
|
+
[^steadfast-duration-qualified]: **Steadfast ICT Security Pty Ltd v Peak** — "Although the duration may appear to be long, it is qualified by the location and the nature of the connection with the client during the employment." *Steadfast ICT Security Pty Ltd v Peak [2021] ACTSC 199 (Mossop J).* <https://www.austlii.edu.au/cgi-bin/viewdoc/au/cases/act/ACTSC/2021/199.html>
|
|
177
|
+
|
|
178
|
+
[^steadfast-no-severance-cascade]: **Steadfast ICT Security Pty Ltd v Peak** — "No question of severance can arise in those circumstances because it is not possible to read down or sever the clauses which have embedded within them that definition: Emeco International Pty Ltd v O'Shea [No 2] [2012] WASC 348 ; 225 IR 423." *Steadfast ICT Security Pty Ltd v Peak [2021] ACTSC 199 (Mossop J), citing Emeco International Pty Ltd v O'Shea [No 2] [2012] WASC 348; 225 IR 423.* <https://www.austlii.edu.au/cgi-bin/viewdoc/au/cases/act/ACTSC/2021/199.html>
|
|
179
|
+
|
|
180
|
+
[^lindner-face-competition]: **Lindner v Murdock's Garage** — "An employer must be prepared to face the competition of a former employee if it comes." *Lindner v Murdock's Garage [1950] HCA 48; (1950) 83 CLR 628 (per McTiernan J).* <https://www.hcourt.gov.au/sites/default/files/eresources/1950/HCA/48.pdf>
|
|
181
|
+
|
|
182
|
+
[^steadfast-direct-dealings]: **Steadfast ICT Security Pty Ltd v Peak** — "In my view the 24-month restraint period is reasonable having regard to the limited restraint area, the role of Mr Peak in relation to clients to the extent to which it is disclosed by the evidence, and the limitation within the restraint to client or customers of the company with whom he has had direct dealings in the 12 months prior to the termination of his employment." *Steadfast ICT Security Pty Ltd v Peak [2021] ACTSC 199 (Mossop J).* <https://www.austlii.edu.au/cgi-bin/viewdoc/au/cases/act/ACTSC/2021/199.html>
|
|
183
|
+
|
|
184
|
+
[^steadfast-confidential-breach]: **Steadfast ICT Security Pty Ltd v Peak** — "I am also satisfied that Mr Peak breached clause 13 by failing to keep the plaintiff's confidential information confidential, using it for purposes other than in the course of performing his duties as an employee of the plaintiff and providing confidential information to Mr Glavonjic and Dreamtime." *Steadfast ICT Security Pty Ltd v Peak [2021] ACTSC 199 (Mossop J).* <https://www.austlii.edu.au/cgi-bin/viewdoc/au/cases/act/ACTSC/2021/199.html>
|
|
185
|
+
|
|
186
|
+
[^steadfast-fiduciary]: **Steadfast ICT Security Pty Ltd v Peak** — "Mr Peak's course of conduct amounted to a very clear breach of his fiduciary duties to his employer." *Steadfast ICT Security Pty Ltd v Peak [2021] ACTSC 199 (Mossop J).* <https://www.austlii.edu.au/cgi-bin/viewdoc/au/cases/act/ACTSC/2021/199.html>
|
|
187
|
+
|
|
188
|
+
[^steadfast-combined-effect]: **Steadfast ICT Security Pty Ltd v Peak** — "In assessing the reasonableness of the restraint, regard must be had to the combined effect of its duration and area of operation." *Steadfast ICT Security Pty Ltd v Peak [2021] ACTSC 199 (Mossop J).* <https://www.austlii.edu.au/cgi-bin/viewdoc/au/cases/act/ACTSC/2021/199.html>
|
|
189
|
+
|
|
190
|
+
[^steadfast-tested-at-contract]: **Steadfast ICT Security Pty Ltd v Peak** — "The validity of a restraint is to be assessed at the time at which the contract is made." *Steadfast ICT Security Pty Ltd v Peak [2021] ACTSC 199 (Mossop J).* <https://www.austlii.edu.au/cgi-bin/viewdoc/au/cases/act/ACTSC/2021/199.html>
|
|
191
|
+
|
|
192
|
+
[^steadfast-two-year-upheld]: **Steadfast ICT Security Pty Ltd v Peak** — "In my view the 24-month restraint period is reasonable having regard to the limited restraint area, the role of Mr Peak in relation to clients to the extent to which it is disclosed by the evidence, and the limitation within the restraint to client or customers of the company with whom he has had direct dealings in the 12 months prior to the termination of his employment." *Steadfast ICT Security Pty Ltd v Peak [2021] ACTSC 199 (Mossop J).* <https://www.austlii.edu.au/cgi-bin/viewdoc/au/cases/act/ACTSC/2021/199.html>
|
|
193
|
+
|
|
194
|
+
[^lindner-area-too-wide]: **Lindner v Murdock's Garage** — "I think it must be held that the area was unreasonably wide." *Lindner v Murdock's Garage [1950] HCA 48; (1950) 83 CLR 628 (per McTiernan J).* <https://www.hcourt.gov.au/sites/default/files/eresources/1950/HCA/48.pdf>
|
|
195
|
+
|
|
196
|
+
[^steadfast-precise-concordance]: **Steadfast ICT Security Pty Ltd v Peak** — "Reasonableness does not require precise concordance between the restraint and what might ultimately be seen as the employer's legitimate interest; it is accepted that a reasonable covenant might on the one hand not totally protect the employer in one respect, and on the other go somewhat further than is necessary for legitimate protection, without ceasing to be reasonable [ Coote v Sproule , 580-581]." *Steadfast ICT Security Pty Ltd v Peak [2021] ACTSC 199 (Mossop J), quoting Koops Martin v Dean Reeves [2006] NSWSC 449 (Brereton J), citing Coote v Sproule.* <https://www.austlii.edu.au/cgi-bin/viewdoc/au/cases/act/ACTSC/2021/199.html>
|
|
197
|
+
|
|
198
|
+
[^steadfast-salary]: **Steadfast ICT Security Pty Ltd v Peak** — "One factual issue relevant to the reasonableness of the scope of the restraint was the amount that Mr Peak was being paid, as a higher salary may be more consistent with a broader restraint than a lower one." *Steadfast ICT Security Pty Ltd v Peak [2021] ACTSC 199 (Mossop J).* <https://www.austlii.edu.au/cgi-bin/viewdoc/au/cases/act/ACTSC/2021/199.html>
|
|
199
|
+
|
|
200
|
+
[^steadfast-salary-gl]: **Steadfast ICT Security Pty Ltd v Peak** — "One factual issue relevant to the reasonableness of the scope of the restraint was the amount that Mr Peak was being paid, as a higher salary may be more consistent with a broader restraint than a lower one." *Steadfast ICT Security Pty Ltd v Peak [2021] ACTSC 199 (Mossop J).* <https://www.austlii.edu.au/cgi-bin/viewdoc/au/cases/act/ACTSC/2021/199.html>
|
|
201
|
+
|
|
202
|
+
[^steadfast-real-remuneration]: **Steadfast ICT Security Pty Ltd v Peak** — "In other words it would not be appropriate to assess the significant period of restraint only with regard to the level of remuneration identified in his written contract." *Steadfast ICT Security Pty Ltd v Peak [2021] ACTSC 199 (Mossop J).* <https://www.austlii.edu.au/cgi-bin/viewdoc/au/cases/act/ACTSC/2021/199.html>
|
|
203
|
+
|
|
204
|
+
[^steadfast-tested-at-contract-gl]: **Steadfast ICT Security Pty Ltd v Peak** — "The validity of a restraint is to be assessed at the time at which the contract is made." *Steadfast ICT Security Pty Ltd v Peak [2021] ACTSC 199 (Mossop J).* <https://www.austlii.edu.au/cgi-bin/viewdoc/au/cases/act/ACTSC/2021/199.html>
|
|
205
|
+
|
|
206
|
+
[^lindner-onus-eb]: **Lindner v Murdock's Garage** — "The onus was on the plaintiff firm to prove circumstances showing that the restriction on the defendant's freedom to work was reasonable." *Lindner v Murdock's Garage [1950] HCA 48; (1950) 83 CLR 628 (per McTiernan J).* <https://www.hcourt.gov.au/sites/default/files/eresources/1950/HCA/48.pdf>
|
|
207
|
+
|
|
208
|
+
[^steadfast-own-breach-response]: **Steadfast ICT Security Pty Ltd v Peak** — "In my view, it is not open to the defendants to rely upon actions of Steadfast that were themselves a response to the defendants' own breach of contract in order to reduce their liability for the consequences of those breaches or breaches of their fiduciary duties." *Steadfast ICT Security Pty Ltd v Peak [2021] ACTSC 199 (Mossop J).* <https://www.austlii.edu.au/cgi-bin/viewdoc/au/cases/act/ACTSC/2021/199.html>
|
|
209
|
+
|
|
210
|
+
[^steadfast-tested-at-contract-tolling]: **Steadfast ICT Security Pty Ltd v Peak** — "The validity of a restraint is to be assessed at the time at which the contract is made." *Steadfast ICT Security Pty Ltd v Peak [2021] ACTSC 199 (Mossop J).* <https://www.austlii.edu.au/cgi-bin/viewdoc/au/cases/act/ACTSC/2021/199.html>
|
|
211
|
+
|
|
212
|
+
[^steadfast-injunction-elapsed]: **Steadfast ICT Security Pty Ltd v Peak** — "The claim for an injunction was not pressed as the period during which the injunction might have operated had elapsed prior to trial." *Steadfast ICT Security Pty Ltd v Peak [2021] ACTSC 199 (Mossop J).* <https://www.austlii.edu.au/cgi-bin/viewdoc/au/cases/act/ACTSC/2021/199.html>
|
|
213
|
+
|
|
214
|
+
[^steadfast-account-remedy]: **Steadfast ICT Security Pty Ltd v Peak** — "The account of profits is the most appropriate remedy because it most accurately responds to the course of conduct engaged in by Mr Peak and the consequences of that course of conduct for Steadfast." *Steadfast ICT Security Pty Ltd v Peak [2021] ACTSC 199 (Mossop J).* <https://www.austlii.edu.au/cgi-bin/viewdoc/au/cases/act/ACTSC/2021/199.html>
|
|
215
|
+
|
|
216
|
+
[^lindner-sale-distinction]: **Lindner v Murdock's Garage** — "A distinction is drawn between a restraint upon trade included in an agreement for the sale of a business and a restraint included in an agreement with an employee." *Lindner v Murdock's Garage [1950] HCA 48; (1950) 83 CLR 628 (per Latham CJ).* <https://www.hcourt.gov.au/sites/default/files/eresources/1950/HCA/48.pdf>
|
|
217
|
+
|
|
218
|
+
[^lindner-sale-more-easily]: **Lindner v Murdock's Garage** — "The restraint is more easily upheld in the former than in the latter case." *Lindner v Murdock's Garage [1950] HCA 48; (1950) 83 CLR 628 (per Latham CJ).* <https://www.hcourt.gov.au/sites/default/files/eresources/1950/HCA/48.pdf>
|
|
219
|
+
|
|
220
|
+
[^steadfast-still-governs]: **Steadfast ICT Security Pty Ltd v Peak** — "The validity of a restraint is to be assessed at the time at which the contract is made." *Steadfast ICT Security Pty Ltd v Peak [2021] ACTSC 199 (Mossop J).* <https://www.austlii.edu.au/cgi-bin/viewdoc/au/cases/act/ACTSC/2021/199.html>
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
jurisdiction: "California"
|
|
3
3
|
slug: california
|
|
4
4
|
countryCode: US
|
|
5
|
-
snapshotAsOf: "2026-06-
|
|
5
|
+
snapshotAsOf: "2026-06-19"
|
|
6
6
|
lastReviewed: "2026-06-03"
|
|
7
|
-
canonicalUrl: https://openagreements.org/
|
|
7
|
+
canonicalUrl: https://openagreements.org/practice-guides/non-compete/us/california
|
|
8
8
|
license: CC BY 4.0
|
|
9
9
|
stale: false
|
|
10
10
|
---
|
|
@@ -15,7 +15,7 @@ stale: false
|
|
|
15
15
|
> relationship, and is not a substitute for a licensed attorney in the relevant jurisdiction.
|
|
16
16
|
> Laws change; verify against the canonical version before relying on it.
|
|
17
17
|
>
|
|
18
|
-
> **Canonical:** https://openagreements.org/
|
|
18
|
+
> **Canonical:** https://openagreements.org/practice-guides/non-compete/us/california · **Snapshot as of:** 2026-06-19 · License: CC BY 4.0 · © openagreements.org
|
|
19
19
|
|
|
20
20
|
# Non-Competes in California[^about]
|
|
21
21
|
|
|
@@ -105,7 +105,7 @@ AB 1076 layered on a compliance duty: it is unlawful to include the clause at al
|
|
|
105
105
|
|
|
106
106
|
"It shall be unlawful to include a noncompete clause in an employment contract, or to require an employee to enter a noncompete agreement, that does not satisfy an exception in this chapter."[^stat-16600-1-unlawful]
|
|
107
107
|
|
|
108
|
-
There is a further trap for employers who present void terms. Labor Code section 432.5 forbids requiring an employee to agree in writing to any term the employer knows to be prohibited by law — which a void non-compete now plainly is — exposing the employer to representative penalty claims [^stat-432-5]. California's Attorney General has publicly reinforced that noncompetes are generally illegal and that workers can act on these rights [^ag-alert].
|
|
108
|
+
There is a further trap for employers who present void terms. Labor Code section 432.5 forbids requiring an employee to agree in writing to any term the employer knows to be prohibited by law — which a void non-compete now plainly is — exposing the employer to representative penalty claims [^stat-432-5]. California's Attorney General has publicly reinforced that noncompetes are generally illegal and that workers can act on these rights [^ag-alert]. For a clause-by-clause exposure screen of a specific agreement against these rules, the [California non-compete review checklist](/checklists/non-compete/us/california) walks the full covenant suite item by item with each requirement's force level.
|
|
109
109
|
|
|
110
110
|
> [!NOTE]
|
|
111
111
|
> **Practice note.**
|
|
@@ -205,7 +205,7 @@ A trade-secret claim also comes with a procedural gate that shapes litigation: b
|
|
|
205
205
|
>
|
|
206
206
|
> Do not define *confidential information* so broadly that it sweeps in the employee's general skills, knowledge, and industry experience — a confidentiality clause that effectively prevents the worker from practicing their profession is a *de facto* non-compete and void under *Brown v. TGS*. Tie confidentiality to genuine, identifiable trade secrets, and rely on the Trade Secrets Act for enforcement [^brown-de-facto][^stat-cuts-injunction].
|
|
207
207
|
|
|
208
|
-
[^about]: By Steven Obiajulu, J.D. Published by [openagreements.org](https://openagreements.org)
|
|
208
|
+
[^about]: By Steven Obiajulu, J.D. Published by [openagreements.org](https://openagreements.org). Last reviewed 2026-06-03. License: CC BY 4.0. Steven Obiajulu, J.D. is admitted in New York, not California. This article synthesizes California primary law and is not legal advice from a California-admitted attorney. This article is for informational purposes only and does not create an attorney-client relationship.
|
|
209
209
|
|
|
210
210
|
[^stat-16600-void]: **Cal. Bus. & Prof. Code § 16600** — "Except as provided in this chapter, every contract by which anyone is restrained from engaging in a lawful profession, trade, or business of any kind is to that extent void." *Cal. Bus. & Prof. Code § 16600(a).* <https://leginfo.legislature.ca.gov/faces/codes_displaySection.xhtml?lawCode=BPC§ionNum=16600>
|
|
211
211
|
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
jurisdiction: "Northern Mariana Islands"
|
|
3
3
|
slug: cnmi
|
|
4
4
|
countryCode: US
|
|
5
|
-
snapshotAsOf: "2026-06-
|
|
5
|
+
snapshotAsOf: "2026-06-19"
|
|
6
6
|
lastReviewed: "2026-06-03"
|
|
7
|
-
canonicalUrl: https://openagreements.org/
|
|
7
|
+
canonicalUrl: https://openagreements.org/practice-guides/non-compete/us/cnmi
|
|
8
8
|
license: CC BY 4.0
|
|
9
9
|
stale: false
|
|
10
10
|
---
|
|
@@ -15,7 +15,7 @@ stale: false
|
|
|
15
15
|
> relationship, and is not a substitute for a licensed attorney in the relevant jurisdiction.
|
|
16
16
|
> Laws change; verify against the canonical version before relying on it.
|
|
17
17
|
>
|
|
18
|
-
> **Canonical:** https://openagreements.org/
|
|
18
|
+
> **Canonical:** https://openagreements.org/practice-guides/non-compete/us/cnmi · **Snapshot as of:** 2026-06-19 · License: CC BY 4.0 · © openagreements.org
|
|
19
19
|
|
|
20
20
|
# Non-Competes in the Northern Mariana Islands[^about]
|
|
21
21
|
|
|
@@ -135,7 +135,7 @@ Two widely publicized changes do not reach the CNMI on their own force. The fede
|
|
|
135
135
|
|
|
136
136
|
The practical takeaway is stability with a thin margin. Because the framework is judge-made, the most reliable signal of change would be a new CNMI Supreme Court or federal decision deciding one of the open questions, consideration, reformation, or tolling, rather than a bill.
|
|
137
137
|
|
|
138
|
-
[^about]: By Steven Obiajulu, J.D. Published by [openagreements.org](https://openagreements.org)
|
|
138
|
+
[^about]: By Steven Obiajulu, J.D. Published by [openagreements.org](https://openagreements.org). Last reviewed 2026-06-03. License: CC BY 4.0. Steven Obiajulu, J.D. is admitted in New York, not Northern Mariana Islands. This article synthesizes Northern Mariana Islands primary law and is not legal advice from a Northern Mariana Islands-admitted attorney. This article is for informational purposes only and does not create an attorney-client relationship.
|
|
139
139
|
|
|
140
140
|
[^cmc-3401]: **7 CMC § 3401** — "In all proceedings, the rules of the common law, as expressed in the restatements of the law approved by the American Law Institute and, to the extent not so expressed as generally understood and applied in the United States, shall be the rules of decision in the courts of the Commonwealth, in the absence of written law or local customary law to the contrary" *7 CMC § 3401.* <https://cnmilaw.org/pdf/cmc_section/T7/3401.pdf>
|
|
141
141
|
|