pmochine/laravel-nova-hashids
Integrates Hashids with Laravel Nova so resource IDs are obfuscated in URLs and API responses. Hide sequential primary keys, prevent ID enumeration, and keep Nova links cleaner without changing your schema. Supports custom salts, minimum hash lengths, and easy configuration.
Architecture fit
vinkla/hashids. It fits Nova’s extension model and does not require a separate service, database schema, or queue.Converter contract, which is the most strategically useful change: teams can bind a custom hash algorithm without forking the package. This improves fit for organizations with existing salt/hashid conventions.vinkla/hashids 13 or 14. There is no graceful coexistence with Nova 3 or 4.Integration feasibility
selected becomes connection, response fields changed), but release notes state only the card consumes it. Blast radius is low unless custom callers were built against the v2 endpoints.php artisan route:cache), which is an easy operational miss.Technical risk
nova middleware group no longer authenticates. A guest could list connections and encode/decode IDs. If the current environment is v2 on Nova 4/5, treat this as an active security finding and mitigate immediately—upgrade, restrict routes, or disable the card until remediated.Key questions
vinkla/hashids 13/14?Converter, or is the default Hashids behavior sufficient?vinkla/hashids below version 13?Stack fit
Migration path
pmochine/laravel-nova-hashids:^3.0.array_has() helper added as a workaround for issue #2.php artisan route:cache if routes are cached.viewNova gate can access the card, and test guest and non-authorized access explicitly.Compatibility
vinkla/hashids 13 or 14. Audit transitive dependency constraints before upgrading.Sequencing
Maintenance
Support
viewNova; users who previously reached the card without Nova access will lose it.Scaling
Converter implementation should be stateless per request and reviewed for performance if it introduces external calls.Failure modes
route:cache is rerun.Ramp-up
Converter contract adds modest implementation effort.How can I help you explore Laravel packages today?