For law-enforcement agencies

GunRegistry.us for Law Enforcement: How It Works

What a serial lookup returns, what we store, what we do not store, and how a verified agency gets access.

Executive summary

GunRegistry.us is a voluntary tip registry for firearms reported lost, stolen, or recovered. Firearm owners keep a private, encrypted inventory. Verified law-enforcement agencies look up a serial and learn whether it has been reported lost, stolen, or recovered. Dealers can record an acquisition from their bound book, and the buyer claims it with a single-use token.

The system is built around what it does not store. It stores no owner name, address, phone, email, or date of birth, and no record that links an account to a firearm. A lookup returns a status, never a person.

GunRegistry.us is not a government registry. It is a personal inventory and community service site: owners choose what to record, and it is not affiliated with the ATF or any government agency.

GunRegistry.us is in development. Agency access is in early access, and we are onboarding agencies now.

The problem it addresses

An owner whose firearm is lost or stolen wants an officer who recovers it to know that. Many owners will not put their name and address next to a list of the guns they own to make that possible. GunRegistry.us separates the two: the owner’s identity and inventory stay encrypted in the owner’s browser, and only the firearm that is reported, along with its status, becomes visible to a verified agency.

How it works

The owner side

  1. Create an account with an alias and a master password. There is no email and no reset link. The alias cannot look like an email address. The browser does the key work and shows a recovery code once, for the owner to print. An optional passkey adds a second factor at sign-in.
  2. Add firearms to the vault. The inventory, notes, purchase details, and the owner’s own details are encrypted in the browser before upload. Adding a gun to the vault does not create a plain-text serial record.
  3. Report a loss or theft. When the owner publishes a lost or stolen report for one firearm, that firearm becomes a plain-text registry row (make, model, serial, type, caliber, and report history) with no owner on it. Agencies can now see its status.
  4. Recover or sell. The owner can mark the gun recovered, or mark it sold and give the buyer a single-use transfer token.

Dealer acquisitions

A verified dealer sends the manufacturer, model, serial, type, and caliber from the bound book. The dealer does not send the buyer. GunRegistry.us returns a single-use claim token that expires after 90 days, and the buyer redeems it into their own vault. A dealer-recorded firearm is a plain-text row, but it is not a lost or stolen report.

The law-enforcement serial check

  1. Request access and get verified. Contact us to request access. After we verify your agency, we create your agency account and issue a key, shown once.
  2. Accept the terms of use. Each key must accept the terms once before its first lookup.
  3. Submit a serial through the web form at app.gunregistry.us/leo or through the lookup API.
  4. Read the status. The answer is either stolen, lost, or recovered, with the date, a report reference, and whether reports are contested; or “no lost/stolen report.”
If the serial is…The lookup returns
Reported stolen, lost, or recoveredThat status, the date it changed, the report reference, and a contested flag
Never seen, only in an owner’s vault, dealer-recorded but unclaimed, in inventory, sold, or only in a manufacturer catalog“No lost/stolen report”

The lookup is not an inventory search. It does not say which of the “no report” cases applies, and it returns no owner, account, manufacturer, model, or “on file” indicator. If the same serial exists under two manufacturers, the more severe status is returned and the contested flag is set when they disagree.

An agency’s stolen or lost report stays in place until a later agency recovered report or a manual review clears it. An owner report that disagrees marks the result contested; it does not erase the agency report.

Agency status reports

A verified agency partner can also submit a stolen, lost, or recovered status for a firearm, with an optional report reference. If no reference is given, one is assigned. This does not create an owner record or a claim token. An owner who holds that firearm in their vault sees an in-vault notice the next time the vault is opened. There is no email path to the owner.

What we store, and what we do not

What we store

  • Encrypted vault (we cannot read it): the owner’s inventory, notes, purchase details, any personal details the owner chooses to record, and the secrets that prove control of a published firearm. We hold the ciphertext, not the key.
  • Plain-text registry rows: manufacturer, model, serial, type, caliber, created date, status-report history, and report reference, only for a firearm reported lost or stolen, submitted by a dealer, or loaded as an unclaimed bound-book row that names no customer.
  • Account login data: the alias (plain text), when the account was created and last signed in, the Argon2 salt and parameters, a login verifier, a recovery verifier, and wrapped (encrypted) vault keys. For an optional passkey, a public key and a signature counter.
  • Agency records: agency name and ORI, status (pending, verified, suspended), and a hash of each access key.
  • Search audit: for every successful lookup, the agency, the time, the serial as submitted, the result, and whether it came from the web form or the API.
  • Dealer and partner records: partner name and type, a hash of each key, and which key submitted which firearm.

What we do not store

  • An owner’s name, address, phone, email, or date of birth (outside the encrypted vault).
  • Any record linking an account to a firearm, capability, claim, or status report.
  • Firearms an owner has only added to the vault and never reported.
  • An email used as a login, or a contact email or hash of one.
  • Client IP addresses in the application database. (The shared web server logs access for operational reasons; those logs are not copied into GunRegistry.)
  • The registry user behind a search, or the searcher’s IP, in the search audit.
  • The owner’s master password or recovery code.
  • A buyer’s identity from a dealer submission.

A leaked copy of the registry would be a list of reported, dealer-submitted, and unclaimed bound-book firearms. That list is sensitive, and we say so plainly.

Who can see what

WhoWhat they can see
OwnerTheir own decrypted vault, in their browser only, plus in-vault notices about their firearms
Verified agency (with an accepted key)The lookup result for a serial they submit: status, date, report reference, contested flag, or “no lost/stolen report”
DealerThe claim token for a firearm it submitted; no lookup results and no buyer data
Operator (GunRegistry staff)The plain-text rows and report history for a serial during manual review, and the agency and partner records. No vault contents and no owner identity
The publicAggregate totals on the dashboard only. No serial search and no account count

Agency verification

  • Contact us to request access. After verification, we create your agency account; there is no self-serve application.
  • To verify an agency, we call back the agency’s main office phone number, which we look up independently rather than using a number given to us, and we require a letter on agency letterhead signed by the Chief or head of the agency or station.
  • Only after both checks does an operator create the agency account and issue a key.
  • Each key is shown once. We store only a hash of the secret.
  • A pending or suspended agency, or a revoked key, cannot look anything up.
  • Lookups are limited to 60 per key per 10 minutes. Hitting the limit pauses the key; it does not revoke it.
  • Abuse is handled by an operator suspending the agency or revoking a key.

Security and privacy

  • Encrypted in the browser. The master password is stretched with Argon2id. Separate one-way derivations (HKDF) produce the login verifier and a wrap key. The vault is encrypted with AES-GCM before upload. The wrap key never leaves the browser.
  • Challenge sign-in. Login proves the verifier against a one-time challenge. The verifier itself is not sent and cannot be turned back into the wrap key.
  • Recovery in the browser. The printed recovery code unwraps the vault key locally and is never sent to us. We cannot reset a vault whose password and recovery code are both lost.
  • No stored link. Firearm requests carry no account session. Reporting uses a one-time grant that is deleted when used.
  • Verifiable client. The running vault build publishes its SHA-256 hashes, and the vault page uses Subresource Integrity on the scripts it loads.
  • Keys hashed. Agency, partner, and operator keys are stored only as SHA-256 hashes.
  • Encrypted in transit. Connections to the application use HTTPS (TLS).
  • Hosting. GunRegistry.us is hosted on our own servers, not a third-party cloud.

Where the promise stops

  • We serve the client. A malicious build of the web app shipped to one user could read that user’s password in the browser. Doing so would require a detectable change to the served code.
  • We run the server. The database does not store the link between an account and a firearm, but a modified server watching live requests could correlate them.
  • A weak password can be guessed. Someone holding a copy of the database could try to guess a weak master password offline. Argon2id makes each guess expensive, not impossible.

Data requests and legal process

We disclose user data only in response to valid legal process. A subpoena covers basic account information; a court order or search warrant is required for anything more. We do not disclose data in response to informal requests.

Requests must be made in writing to legal@gunregistry.us. We notify the affected user before disclosure unless we are prohibited by law or court order. Because we do not hold an owner’s email, phone, or address, notice can only reach a user through the means the system has. Notice is a message on that account the next time the vault opens. A request that names only a serial has no account to notify.

What exists to disclose is limited by design. A legal request for the database can return: vault ciphertext; the alias; account creation and last sign-in times; the Argon2 salt and parameters; the login and recovery verifiers; wrapped vault keys; the plain-text registry rows; dealer and agency identities; and the search audit. It can also return a demo sign-up’s name, email, and shop, which are not an owner record and do not point at a firearm.

It cannot return a stored owner name, address, phone, email, or date of birth, or a record that links an account to a firearm, because the system does not have them.

  • Audit logging. Agency serial searches and operator actions are logged, and those logs are kept for at least one year. Each successful lookup records the agency, the time, the serial, the result, and the channel. Rejected calls (bad input, invalid key, terms not accepted, rate-limited) are not recorded as searches.

CJIS and appropriate use

GunRegistry.us is a voluntary tip registry. It is not a CJIS system of record and not a criminal-history system. Agencies must not send criminal-history or investigative personal data to it.

The terms each key accepts: “This is a voluntary tip registry. It is not a criminal-history system. A lookup returns stolen, lost, recovered, or no lost or stolen report. It does not return an owner. Do not send investigative personal data.”

Getting your agency access

  1. Request access through support.slingbuilt.com or sales@sflservicesllc.com with your agency name and ORI.
  2. Verification. We call back your agency’s main office number, looked up independently, and ask for a letter on agency letterhead signed by your Chief or head of agency or station. After verification, we create your agency account.
  3. Receive your key. It is shown once. Store it securely; we keep only a hash and cannot show it again.
  4. Accept the terms and run your first lookup at app.gunregistry.us/leo or through the API.

Cost: starting at $20 per month per agency. Agency access is in early access while we onboard agencies.

Contact

GunRegistry.us is not a government registry. It is a personal inventory and community service site and a Slingbuilt product; owners choose what to record. It is not affiliated with the ATF or any government agency, and it is not a CJIS system of record or a criminal-history system.

Questions from your agency?

GunRegistry.us · a Slingbuilt product