Encryption Seed

πŸ‘¨β€πŸ’Ό So, you may not have noticed this, but remix-utils doesn't actually put the real date the form was generated in the validFrom input of the form. It's just some random string of characters. Well, it's not really random, it's actually encrypted. The reason for this is because we don't want bots to be able to just change the date on the form and then submit it quickly. So remix-utils will encrypt the actual valid date and that's what the form is set to.
To be able to decrypt the value, we need an encryption key. remix-utils will generate one for us if we don't set one ourselves. Unfortunately, there's a problem with doing things this way. The key is generated at startup time, so if you restart your server, or you're running multiple instances of your app, a form could be generated with one key and validated with another.
So instead, we can set it to something consistent across all instances of our app. We can do this by setting the encryptionSeed option in our config. The tricky bit is we need this to be secret, so we're not going to just commit this to the repository. We need this to be kept secret. So we'll use environment variables.
So we're going to place it in our .gitignored .env file which we're loading at startup time during development, and then you'll want to make sure to set this environment variable in your production environment as well (for example).
🐨 So first, you'll set the variable in , then go to to validate at startup time that the variable is set (and get type safety on it as well).
🐨 Once you've got that, you can set the encryptionSeed in the honeypot config.
Login to get access to the exclusive discord channel.
  • general
    Migration to Vite: Server-only module referenced by client
    Fabian 🌌:
    Hi, I'm working on migrating to Vite following the remix docs (https://remix.run/docs/en/main/guides...
    1 Β· 20 days ago
  • general
    Remix Vite Plugin
    Binalfew πŸš€ 🌌:
    <@105755735731781632> Now that remix officially supports vite (though not stable) what does it mean...
    • βœ…1
    3 Β· a year ago
  • general
    Welcome to EpicWeb.dev! Say Hello πŸ‘‹
    Kent C. Dodds β—† πŸš€πŸ†πŸŒŒ:
    This is the first post of many hopefully!
    • 17
    78 Β· a year ago
  • general
    πŸ”­foundations
    Solutions video on localhost:5639 ?
    quang πŸš€ 🌌:
    Hi, so I'm having a hard time navigating (hopefully will be better with time) The nav on epicweb.de...
    • βœ…1
    9 Β· 10 months ago
  • πŸ“forms
    Loading into disk
    DiogoVaz 🌌:
    I am going through the File Upload section and I completely understand the benefits of loading the a...
    • βœ…1
    2 Β· 2 months ago
  • general
    Epicshop is now social and mobile friendly!
    Kent C. Dodds β—† πŸš€πŸ†πŸŒŒ:
    I'm excited to announce that now the Epic Web workshops are mobile friendly! https://foundations.ep...
    • πŸŽ‰2
    0 Β· 3 months ago
  • πŸ’Ύdata
    πŸ“forms
    πŸ”­foundations
    How can I do this?
    silvanet πŸš€ 🌌:
    Viewing the Intro (from the Workshop) for Mutations, the course has an embedded video where Kent exp...
    • βœ…1
    3 Β· 4 months ago
  • πŸ’Ύdata
    πŸ“forms
    πŸ”­foundations
    Reviewing foundations, Mutations, Actions
    silvanet πŸš€ 🌌:
    Forgive me for this. I went over the file size limit. I don't want to sign up for being able to exce...
    2 Β· 4 months ago
  • πŸ’Ύdata
    general
    πŸ“forms
    πŸ”­foundations
    double underscore?
    trendaaang 🌌:
    What with the `__note-editor.tsx`? I don't see that in the Remix docs and I don't remember Kent talk...
    • βœ…1
    2 Β· 4 months ago
  • πŸ“forms
    Unable to start the playground
    Payapula πŸš€ 🌌:
    Today morning I have updated the workshop for web-form - https://github.com/epicweb-dev/web-forms/co...
    • βœ…1
    16 Β· 5 months ago
  • πŸ”­foundations
    πŸ’Ύdata
    general
    πŸ“forms
    πŸ”auth
    Native Logging
    trendaaang 🌌:
    I was thinking that it could be useful to log every CRUD operation to help track down errors. Is tha...
    • βœ…1
    6 Β· 5 months ago
  • πŸ“forms
    File upload `unstable_parseMultipartFormData` vs `File`
    QzCurious 🌌:
    I'd like to ask why we want to use `unstable_parseMultipartFormData` at first place? It seems to me ...
    • βœ…1
    8 Β· 5 months ago
  • πŸ“forms
    Purpose of conform.fieldset() in the excercise
    blue_cat_blues 🌌 πŸš€:
    In the solution for Web forms 05/01 (complex structures/ nested objects) there is a call to `conform...
    • βœ…1
    4 Β· 5 months ago
  • πŸ“forms
    I think conform removed their docs for react
    Antonio πŸš€ 🌌:
    Hey I'm watching the Forms course and on /03/03 seems like the https://conform.guide/api/react link ...
    • βœ…1
    15 Β· 6 months ago
  • πŸ’Ύdata
    πŸ“forms
    Issues with child routes when loading a modal with actions (server/client)
    OtterlyPunk:
    I've set up a mini-project to go through the first set of videos and I'm having issues with the form...
    • βœ…1
    7 Β· 6 months ago
  • general
    The video play is pretty laggy currently
    QzCurious 🌌:
    I thought I should tag you for this <@105755735731781632>. Please take a look if something wrong.
    • βœ…2
    9 Β· 6 months ago
  • general
    New Workshop Scheduled
    Kent C. Dodds β—† πŸš€πŸ†πŸŒŒ:
    Hey Epic Web devs! I wanted to let you know before everyone else on here: https://www.epicweb.dev/ev...
    • 2
    0 Β· 6 months ago
  • πŸ“forms
    aria-invalid="false"
    Antonio πŸš€ 🌌:
    Hey I'm currently going through the Accessibility module on the forms workshop, and in the exercise ...
    • βœ…1
    14 Β· 6 months ago
  • πŸ“forms
    Upgrade Conform v1
    JsPark 🌌 πŸš€:
    Are you planning to upgrade the conform library used in the web-forms repository to v1? The exercise...
    • βœ…1
    1 Β· 7 months ago
  • general
    Deploying an exercise
    Khoi πŸš€ 🌌:
    Dear <@105755735731781632> , First of all, I really appreciate your effort in building this EPIC cou...
    • βœ…1
    1 Β· 6 months ago
  • general
    "Start App" throws error: Error: Cannot add empty string to PrefixLookupTrie
    Martin 🌌:
    βœ— npm run start > start > kcdshop start [playground:4000] [playground:4000] > dev [playground:4000...
    • βœ…1
    7 Β· 10 months ago
  • general
    πŸ“forms
    Can't start the playground
    trendaaang 🌌:
    Been a minute since I last worked on this course. Just tried running the app and was notified that t...
    • βœ…1
    3 Β· 7 months ago
  • πŸ’Ύdata
    πŸ“forms
    Getting a TS error that is not present in the course files
    OtterlyPunk:
    So I'm working in parallel and I'm feeling the problem is I'm using a new version of something in my...
    • βœ…1
    12 Β· 6 months ago
  • general
    Question about the Workshop App tabs
    sjollivier 🌌:
    Just started the course. I might have missed this in the Getting Started video, but how should I be ...
    • βœ…1
    1 Β· 7 months ago