Delight customers, even with the boring parts.

    Auth glue is not your product.

    Authentication is the boring blocker between your agent and launch. Add one decorator and it's done this afternoon.

    from ringd import protected, Level
    @protected(level=Level.MEDIUM)
    def book_appointment(call, date, time):
    # only runs once the customer is verified
    return calendar.create(call.customer_id, date, time)


    Fine-grained setup for every authentication flow.

    Give your voice AI the identity checks it needs while keeping the rest of your codebase simple.

    Protect sensitive tools

    Add authentication before your voice AI can take actions that change data, trigger workflows or access private information.

    Right check for the moment

    Let simple requests pass naturally, then step up with voiceprinting, SMS or email when higher confidence is needed.

    The record matching you never want to write

    Shared numbers, spoofed caller ID, missing numbers, duplicate records and mismatched emails are handled before the agent acts.

    Prove every authentication

    Full history of every attempt and decision, ready to export for security review.



    Connect the stack you already trust.

    Supabase logoSupabase
    Neon logoNeon
    Prisma logoPrisma
    Attio logoAttio
    Airtable logoAirtable


    Frequently asked questions.

    What is ringd?
    ringd is authentication for AI voice agents. It verifies who is on the call before your agent takes sensitive actions like booking, payments or account changes. You add it with one decorator on the tools you want to protect.
    How does it work?
    Wrap a tool with the protected decorator and set a level. When an unverified call reaches that tool, ringd runs the right check first, confirms identity, then lets the tool run. Low-risk requests pass through with no prompt.
    Which platforms does it support?
    ringd is platform agnostic. Authentication binds to the call session, not the platform, so it keeps working when you switch.
    What authentication methods can I use?
    Email OTP, SMS OTP and voiceprinting. You pick per level, so simple requests stay effortless and higher-risk actions step up to a stronger check.
    Do you store voiceprints or biometric data?
    By default no. Email and SMS are deterministic and store no biometric data. Voiceprinting is optional and opt-in, handled with consent only when enabled.
    Is voice authentication safe against deepfakes?
    Deterministic checks like SMS and email cannot be spoofed by a voice clone, so they are the safe default for anything sensitive. Voiceprinting is offered as a step-up signal that reduces friction, not as the only thing standing between a request and your data.
    How is this different from Twilio Verify?
    Twilio Verify sends a code and stops there. ringd does authentication and registration on the call: verify who is back, enroll who is new. One decorator, full audit log.