All posts
ProductTenant ScreeningFCRAProperty Management

I Built Tenant Screening Inside My Salesforce Stack After a 10-Minute Conversation with a Property Manager

Glen Bradford7 min read

A property manager I know — let's call him Coleman — was telling me how he runs background checks on prospective tenants. He asks them to pull their own credit report and forward it. I stopped him mid-sentence. “You know I could fake that, right? I could make any number I want in Photoshop and you'd never know.”

Update: Tenant screening is now live with real pricing. Standard screening starts at $49, Comprehensive at $99. Try it now →

He laughed and admitted he'd never really thought about it. He just trusted that the tenant wouldn't lie. Which, for most tenants, is probably correct. But the structure of the workflow is backwards. The party being investigated should never be the party producing the evidence. That's literally the opposite of what an investigation is.

Twenty minutes later we'd sketched out what a real tenant-screening workflow would look like for a small landlord who can't afford a $5,000 enterprise property management tool. By the end of the day I had it shipped. This post is the story.

The trust problem (in one paragraph)

Tenant background checks exist because landlords need third-party verification of credit, criminal history, and eviction history before handing over keys to a property worth hundreds of thousands of dollars. The whole point is third-party. The moment you let the tenant run the report and forward you the result, the third party is gone. You're back to trusting the tenant to be honest about themselves — which is exactly what the background check was supposed to verify.

Bigger property management companies don't do it this way. They use tools like TransUnion SmartMove, RentSpree, Checkr, or TazWorks. The landlord (or their agent) submits a request through the CRA's portal, the tenant authorizes the report directly with the CRA, and the report flows back to the landlord. The tenant never touches the report. The audit trail is clean.

But those tools cost money to set up, require contracts, and often have minimum monthly fees. Coleman doesn't screen enough tenants per year to justify that. So he just… doesn't use them. He asks the tenant. He trusts. And most of the time it's fine. Until the one time it isn't.

The structural fix is small

The fix isn't a new technology — it's a flow change. The landlord requests the screening. The tenant authorizes it. The screening happens through a registered CRA. The tenant never touches the report. That's it. The interesting question is: how cheap and frictionless can you make that loop for a small landlord?

What I shipped is the workflow layer. Coleman lands on cloudnimbusllc.com/tenant-screening, clicks “Request a Screening,” fills out his info plus the tenant's name and email. The system generates two unique tokens — one for him to track the screening, one for the tenant to fill out their application — and emails both parties. The tenant clicks their link, fills out the application (residence history, employment, income, self-disclosure), and signs an FCRA authorization with their typed name plus an automatic IP timestamp. Coleman gets a notification. He sees the application in his private status URL. He can't see the tenant's link, the tenant can't see his.

What ships in Phase 0

This is an early-access MVP. The full intake workflow is real, but the actual background check execution is currently human-gated — I run the report myself through whichever CRA partner is appropriate, then come back and post the result into the screening record. Coleman gets a notification when the report is ready, he sees the recommendation in his status page, and he clicks Approve / Conditional / Decline inline.

Concretely, here's what works today:

  • Public landing page at /tenant-screening with the pitch + FCRA disclosures
  • Landlord request form at /tenant-screening/request — 90-second submission
  • Tenant application form at /tenant-screening/apply/[token] — 5-minute intake with residence history, employment, self-disclosure, and FCRA-compliant typed-name authorization
  • Landlord status page at /tenant-screening/status/[token] — full timeline, tenant application data, screening report when ready, decision recording inline
  • Operator console for me to manually process screenings
  • Slack + email notifications at every state change
  • FCRA audit trail on every authorization (signed name, timestamp, IP)

What does NOT work yet:

  • Real automated screening execution. Phase 1 wires up Checkr's API for real CRA-grade reports returned in minutes. Until then I run the report manually through whichever provider makes sense.
  • Payment. Phase 1 will charge the tenant ~$50 via Stripe at the time of application submission. Phase 0 is free.
  • SSN collection. Phase 0 deliberately doesn't store SSN. We don't need it yet, so we don't collect it. Phase 1 captures SSN at the moment of CRA execution with proper encryption.

Why I shipped it on cloudnimbusllc.com instead of as a standalone product

cloudnimbusllc.com is my Salesforce dev shop and the home of Delivery Hub, an open-source project management tool that lives inside Salesforce. It already has all the infrastructure a tenant screening MVP needs: passkey auth, Upstash Redis, Resend email, Slack notifications, a token-based public access pattern (the existing e-signature flow), and a design system. Building Phase 0 here meant ~3 hours of focused work. Spinning it out into a separate brand + domain + repo would have taken a week of yak-shaving before I'd shipped any customer value.

If Phase 1 ships and 5+ landlords actually use it, the next move is to spin it out into its own brand — probably TenantTrace or RentVet or something domain-specific. But that's a Phase 2 problem. Validate first, brand later.

What's the deal with FCRA?

The Fair Credit Reporting Act regulates who can pull consumer reports and under what conditions. You can't just sign up for a credit bureau API and start running reports on people. There are two paths to be FCRA-compliant: become a Consumer Reporting Agency yourself (a 6-12 month legal slog with onsite inspections, bonds, and direct contracts with TransUnion/Experian/Equifax), OR partner with an existing CRA that handles the compliance for you.

For Phase 1, I'm planning on Checkr. They have a real public API, real webhook system, real B2B onboarding that doesn't require sales calls, and developer experience that matches the rest of my stack. Until that's wired up, Phase 0 is honest about what it does (capture applications + authorization, manual processing) and what it does not (run real reports automatically).

On every page that touches tenant data, there's a prominent disclosure: Cloud Nimbus is not itself a CRA, the actual reports come from a registered CRA partner, the tenant has the right to dispute inaccurate information in any report obtained. This is the same posture every CRA reseller takes. When Phase 1 ships, the disclosure swaps to “background reports are provided by Checkr Inc., a registered CRA” — same skeleton.

The decision tracking lives on the same page

One detail I'm proud of: the landlord's status page isn't just a read-only view. Once the tenant submits their application and the report is ready, the same page has inline radio buttons for Approve / Conditional / Decline plus a notes field. The decision is recorded against the screening, the audit log captures who decided what when, and the workflow is closed. No leaving the page, no separate email, no PDF acknowledgment.

This is part of a larger pattern I'm building toward across the whole site — turning static decision pages into live decision artifacts. More on that in a future post.

Try it

If you're a landlord or property manager with a tenant you're about to screen, you can use this right now, free, during early access:

cloudnimbusllc.com/tenant-screening

If you want to talk about partnering on Phase 1 or just have opinions on tenant screening workflows, my email is at the bottom of every page on this site. The email lands directly in my inbox, which is itself a Cloud Nimbus product, which is another story for another post.

Phase 0 shipped in one focused build session on April 8, 2026. Phase 1 (Checkr integration + Stripe + automated execution) is queued behind a Mahi sync, an MF UAT day, a signing 400 diagnosis, and whatever else falls out of today.