The pure, framework-free, config-driven core of the Simtabi Identifier System — grammar, ISO 7064 check characters, a data-driven class register, the lifecycle state machine, alias derivation, and semver releases. The reference implementation of
SIM-STD-0001:2026.
Requires PHP ^8.5. Zero runtime dependencies (ext-intl / ext-iconv are optional, for best-quality alias transliteration only). Any organization can adopt SIS with their own issuer, classes, and policies via a SisProfile; the SIM profile ships as the built-in default, so zero-config behaviour is spec-conformant.
composer require simtabi/sis-sdkuse Simtabi\SIS\Sis;
$sis = new Sis(); // SIM profile — spec-conformant out of the box
$sis->validate('SIM-CLT-100001-9O'); // true
$sis->identify('SIM-INV-ADIQ-000001-VY'); // the Invoice class definition
$identifier = $sis->mint($sis->class('CLT'))->withSerial(100001)->build();A company adopts SIS with their own vocabulary by supplying a profile:
use Simtabi\SIS\Sis;
use Simtabi\SIS\Profile\SisProfile;
$profile = SisProfile::builder()
->issuer('ACME')
->class('CUST', label: 'Customer', scoped: false, usesAlias: true, serialStart: 100001)
->class('ORD', label: 'Order', scoped: true, serialStart: 1)
->build(); // class codes are three or four letters A–Z
$sis = new Sis($profile); // grammar, check characters, and lifecycle stay fixedHosted at https://opensource.simtabi.com/documentation/simtabi/sis-sdk/.
Pre-1.0. While pre-stable, a single moving v0.1.0 tag tracks the latest state; constraints resolve ^0.1.
MIT. Copyright (c) 2026 Simtabi LLC. See LICENSE.