Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Laravel Legal Documents Laravel Package

vlados/laravel-legal-documents

Manage legal documents in Laravel with versioned policies, publishable content, and user acceptance tracking. Includes migrations, models, and helpers to keep terms of service and privacy policies current and auditable.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Whether to buy vs. build legal acceptance plumbing. The package covers versioned legal documents, immutable version IDs, and per-recipient acceptance records — the audit trail that legal/compliance will ask for. Deciding to adopt is a decision to not spend engineering time on document versioning, acceptance capture, and re-acceptance flows.
  • Market and language expansion. v2.0.0 turns localization from a fork/hack into a configuration decision: source language stays authoritative, translations live in separate tables, and every stored translation is copied when a new version is cut. That makes "can we serve Bulgarian, then other locales?" a roadmap item rather than an engineering project.
  • Compliance and audit requirements. Version copying is transactional and explicitly does not copy acceptances — meaning a new document version forces fresh acceptance. That is the correct legal posture and should be confirmed as your product policy, not discovered later.
  • Risk-based sequencing on a major version. Spatie is no longer required, Filament integration targets Filament 4, and the Lara Zeus translation plugin is dropped. If you are mid-quarter on a Filament 3 admin or relying on Lara Zeus, this upgrade is a scheduled initiative, not a patch.
  • Vendor-lock-in posture. The vendor-neutral TranslationDriver contract means you can start single-language (no migrations, no adapter, no Spatie) and add translation storage later without a data migration of source content.
  • Degradation strategy. Single-language operation is supported even after Spatie is removed, and translation fallback is whole-document rather than mixed-language. Both are defensible product behaviors — a half-translated legal page is a legal risk, not a UX nicety.

When to Consider This Package

Consider it when:

  • You ship terms, policies, DPAs, or similar documents that must be versioned and individually accepted, and you need a durable record of which version each user accepted.
  • You are on Laravel 11–13 and can absorb a major-version upgrade with a published config/views review.
  • You need a Filament admin surface for non-engineers to draft and publish document versions.
  • You are single-language today but expect to add locales — the optional driver lets you defer the decision at near-zero cost.
  • You want the compliance logic (fallback, version immutability, acceptance separation) resolved by a package rather than hand-rolled.

Look elsewhere when:

  • Your admin panel is Filament 3 and cannot move to 4 on your timeline — the bundled integration does not target you, and you would be maintaining a fork.
  • You require per-field or sentence-level translated fragments within a single document; the package deliberately does whole-document fallback.
  • You need CMS-grade editorial workflow (draft/review/publish, approvals, scheduled publication) beyond versioning.
  • You are on Laravel 10 or earlier — CI coverage starts at 11.
  • You already run a document/contract lifecycle system (e.g., a CLM or e-signature vendor) and only need acceptance records; integrating with that system may be cheaper than a second source of truth.

How to Pitch It (Stakeholders)

For executives: v2.0.0 is a maturity release for the legal-documents component. It makes multilingual legal content a configuration choice instead of custom engineering, which directly supports expansion into non-English markets without a parallel build. It also strengthens the compliance story: every new document version is copied transactionally, translations included, while prior acceptances are deliberately not carried forward — so acceptance always refers to a version the user actually saw. The cost is a coordinated major upgrade: one dependency must now be declared explicitly, the admin integration requires Filament 4, and published configuration and views need review. There is no data conversion for single-language installations.

For engineering: Treat this as a planned upgrade, not a routine bump. Required actions: declare Spatie explicitly if used, republish and review config, Blade views, and language overrides against the new translation APIs and labels, and confirm the Filament 4 target against your admin build. Adding a language now requires explicit driver and source-language configuration plus the adapter's migrations — installing Spatie alone does nothing, which is the intended safety behavior. Fallback precedence is deliberate (Spatie's global fallback wins; package config applies only when unset or null) — document that so it isn't re-litigated. Validation covers Laravel 11–13, optional-dependency removal, MySQL 8, and PostgreSQL 16/18 with concurrency tests around version copies, locale writes, and serialization retry — the areas this release touches most. Confirm your database and Laravel versions are inside that matrix before scheduling.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
hsluv/hsluv
seampact/codegen
seampact/hooks
seampact/ir
mehedimi/laravel-amp-mail
happones/laravel-vue-i18n-generator
jwerd/inertia-table
siberfx/flysystem-wasabi
hollyit/token-replace
ippanelcom/laravel-sdk
adachsoft/changelog-linter
adachsoft/collection
payerurl/telegrambot-crypto-payment-instant-payout
dskripchenko/laravel-hybrid-search
riorizkyrainey/lara-ced
mehedimi/static-vel
zharp/zharp
nonsapiens/bigquery-model-sync
lgu-bayambang-ict-office/lgu-laravel-development-standards
andydefer/laravel-support