- How do I install saade/filament-autograph in a Laravel app?
- Run composer require saade/filament-autograph, then optionally publish the package config and views if you need to customize defaults. Add SignaturePad::make('signature') to any Filament form schema, exactly where a TextInput or FileUpload would go. No migrations, routes, or service providers of your own are required beyond Filament's normal panel setup. A first working field is realistically well under a day of work.
- Does filament-autograph support Filament v3 and v4?
- The package documentation targets Filament v3 panels. Filament changed form-component and asset-registration hooks between v3 and v4, so treat v4 support as unconfirmed until you check the composer.json constraints and what CI actually exercises. This matters because a form field usually fails quietly on a major bump: a missing asset or renamed hook renders a blank canvas while the form still submits. Pin the version and smoke-test the field after every Filament upgrade.
- How do I save the signature as an image file instead of base64?
- The package supports both storing signatures as base64 and persisting them to disk. Before committing to either, confirm whether the field honors disk, directory, and visibility options the way FileUpload does, and whether the old file is deleted when a signature is replaced. Base64 keeps things simple but inflates request payloads and bloats the signatures table. Disk storage with a raster image is usually the better default for production.
- Can I customize the pen color, background, and canvas size?
- Yes. Pen color, background, and canvas dimensions are configurable, which is typically enough to match your panel theme or a light-on-dark signature surface. Configuration is usually done through the field's fluent methods or a published config file. Check the published config after installing, since canvas dimensions affect both the drawing experience on mobile and the resolution of the stored image.
- Can a user submit a form with an empty signature canvas?
- The field integrates with standard Filament validation, so required() and rule-based validation work as expected. However, you must verify that an untouched canvas is actually treated as empty rather than submitting a blank or transparent image. The safe pattern is a required field plus a custom rule that rejects an empty or all-background payload. Test this explicitly, because a null signature saved without an exception is easy to miss.
- What should I use if my app is Livewire but not Filament?
- Filament Autograph is a Filament form field, so its value is entirely in inheriting schema binding, validation, and layout from a Filament panel. If your application is Livewire without Filament, or plain Blade, the package has essentially no applicability. In that case use the underlying JavaScript signature pad library directly and wire the output into your own component state. Re-scope early rather than trying to bolt a Filament field onto a non-Filament form.
- Does the signature pad work on touch devices and with a stylus?
- Drawing works with both mouse and touch input, so phones and tablets with a finger or stylus are supported. Keyboard-only users are the open question: a canvas signature pad has no native keyboard equivalent, so plan an assisted or upload-based fallback if accessibility is a requirement. Confirm focus handling and touch-action behavior on the devices your users actually carry before shipping.
- Are there request size problems when the signature is stored as base64 in Livewire state?
- Yes, potentially. If the captured data URL lives in Livewire component state instead of going through Livewire temporary uploads, request size becomes a hard constraint governed by post_max_size, and large base64 strings bloat your table. Decide the storage path early, because retrofitting existing records later means rewriting them. If you need large canvases, route capture through temporary uploads or persist to disk.
- Is saade/filament-autograph safe to use in production?
- It is MIT licensed with a single maintainer, a modest star count, and no meaningful dependent base, so plan for it as vendored source you may need to fork rather than infrastructure with a support contract. The upside is that the surface is small: a field class, a Blade view, and a canvas binding, which is cheap to own outright. Verify release tags and commit history manually rather than trusting a dashboard signal. Add a test that asserts a drawn signature actually persists, so silent breakage gets caught in CI.
- Is a signature captured by this package legally binding or auditable?
- The package captures pixels; it does not establish signer intent. Identity verification, timestamp, IP and user agent, document version, consent text, retention window, and an immutable audit trail are all your responsibility to implement. Output is likely raster image data, so ask whether raw point data is retrievable if you need a stronger evidentiary record. For regulated use cases, treat the field as one input into a compliance design, not as the compliance control itself.