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

Tckimlikno Laravel Package

deligoez/tckimlikno

A Laravel and PHP package for validating and generating Turkish Identification Numbers (TC Kimlik No). It provides a Laravel validation rule, checksum verification, and helpers for producing valid test numbers without external APIs.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Identity verification for Turkish market features. Use for any signup, KYC-lite, checkout, or account-recovery flow targeting Turkish users where a TC Kimlik No is collected and needs format/checksum validation before downstream processing.
  • Build vs. buy: buy (adopt). TC Kimlik No validation is a well-defined algorithmic check (11-digit structure + two checksum digits). Adopting a maintained package avoids writing and testing this yourself; this is a commodity concern, not a differentiator.
  • Roadmap enabler for Laravel 12 migration. v5.1.0 adds Laravel 12 compatibility, which unblocks upgrading your application framework if this package is in your dependency tree. Treat it as a migration prerequisite rather than a feature in its own right.
  • Scoping boundary to set expectations. This package validates format and checksum only. It does not perform government registry lookups or verify that the number belongs to a real, living person. Product requirements around true identity verification need a separate service (e.g., NVI/mernis integration), so budget accordingly.

When to Consider This Package

Consider adopting when:

  • You are on Laravel and need TC Kimlik No validation in form requests, rules, or domain objects, and you want idiomatic Laravel validation rather than hand-rolled regex.
  • Your team is small and you would rather not own the checksum algorithm, its edge cases, and its test suite.
  • You are planning or executing a Laravel 12 upgrade and want a dependency that already supports it.
  • Your validation needs are format-only and you are comfortable layering additional verification (registry API, SMS OTP) separately.

Look elsewhere or build in-house when:

  • You need authoritative identity verification against Turkish government records — this package will not satisfy that requirement, and no amount of adoption changes it.
  • You support multiple national ID formats and want a single abstraction; a broader validation library may be a better fit.
  • You are not on Laravel, or you are on a framework version this package does not yet support — check the compatibility matrix per release before committing.
  • Your compliance posture requires a vendor with an SLA, security review, and support contract. This is a community package maintained by an individual contributor; assess maintenance risk against your risk tolerance.

How to Pitch It (Stakeholders)

To executives: This is a small, free, community-maintained Laravel library that validates Turkish national ID numbers at the point of entry. It is a low-cost hygiene measure, not a compliance or identity-verification solution — it catches malformed and mistyped IDs before they reach our systems and downstream partners. The new release simply adds support for Laravel 12, keeping us current on our framework upgrade path. No commercial commitment, no vendor lock-in, and it can be removed with a single dependency change if needed.

To engineering: v5.1.0 is a compatibility-only release — it adds Laravel 12 support with no API changes or breaking changes, so adoption or upgrade is low-risk. It handles the checksum algorithm and its tests so we don't have to. Be explicit in the codebase and in requirements docs that this validates format only; any product requirement for verified real-person identity must be scoped to a separate registry integration. Given single-maintainer risk, pin the version and keep the wrapper thin (a single validation rule or service class) so substitution is trivial.

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.
3mdikram/worldmoneywords
snowsoft/config
itmosoft/laravel-subscriptions
larva/laravel-ai-qwen
diephp/sequences
users-au/socialite-provider
twidpay/twid-logger
mrnewport/laravel-plaid
mrnewport/laravel-repo
mrnewport/laravel-docsign
mrnewport/laravel-stow
mrnewport/laravel-flow
mrnewport/laravel-priceable
mrnewport/laravel-nestedterms
fredmeng/laravel-apidoc-generator
itstructure/laravel-multilingual-tools
pdustdar/elasticsearch
markupai/php-sdk
rlacerda83/lumem-microservice-shipment
uni-method/symfony-lib